Recibir datos de una api desde mi hosting
Publicado por Roberto (3 intervenciones) el 23/05/2019 21:24:39
Hola buenas, estoy intentando recibir unos datos de un api desde el sitio web en el que aloje mi proyecto, pero no me hace nada, alguien tiene más o menos una idea de como se podría hacer esto.
En local la petición se realiza bien, pero a la hora de hacer la petición desde mi sitio web no me hace nada.
Dejo esto por aquí, haber si alguien me puede ayudar y se le ocurre algo .
Muchas gracias a todos.
clase index.php si recibe como parametro buscadorReceta llama al controlador getRecetaApi
);
clase controlador llama al modelo y almaceno el array de la petición en una variable $resultado
clase modelo me retorna el valor en un array de la petición y recibe el $_GET['recetaBuscar'] dato de entrada de un formulario.
clase mostrarrecetas pinta los datos
formulario entrada de datos
En local la petición se realiza bien, pero a la hora de hacer la petición desde mi sitio web no me hace nada.
Dejo esto por aquí, haber si alguien me puede ayudar y se le ocurre algo .
Muchas gracias a todos.
clase index.php si recibe como parametro buscadorReceta llama al controlador getRecetaApi
1
2
3
require_once __DIR__ . '/../app/Modelo.php';
require_once __DIR__ . '/../app/Controlador.php';
$map = array( 'buscarReceta' => array('controlador' => 'Controlador','action' =>'getRecetaApi'),
clase controlador llama al modelo y almaceno el array de la petición en una variable $resultado
1
2
3
4
5
6
7
8
9
10
public function getRecetaApi(){
$n= ModeloSingleton::singleton();
if (isset($_GET['recetaBuscar'])){
$resultado = $n->getReceta($_GET['recetaBuscar']);
require __DIR__ . '/vistas/mostrarrecetas.php';
}else{
header('Location:index.php');
$this->inicio();
}
}
clase modelo me retorna el valor en un array de la petición y recibe el $_GET['recetaBuscar'] dato de entrada de un formulario.
1
2
3
4
5
6
7
8
9
public function getReceta($recetaBuscar){
$URLAPI = "https://test-es.edamam.com/search?q=".urlencode($recetaBuscar)."&app_id=$APPID&app_key=$APIKEY";
$urlapiJson=file_get_contents($URLAPI);
$urlapi_array= json_decode($urlapiJson,true);
return $resultado = $urlapi_array;
}
clase mostrarrecetas pinta los datos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
if(isset( $urlapi_array)){
$recetas = $urlapi_array['hits'];
foreach ($recetas as $receta){
$urlrecetasitio=$receta['recipe']['url'];
$tituloReceta= $receta['recipe']['label'];
$imagenreceta = $receta['recipe']['image'];
$sitioreceta = $receta['recipe']['source'];
echo "<div id='contimgerror' class=' col-md-6 contimg'>
<h4>".$tituloReceta."</h4>
<div class='card card-default'>
<a href='".$urlrecetasitio."' class='card-link'>
<span class='card-img'>";
?>
<img src="<?php echo $imagenreceta ;?>"class="img-responsive img404" onerror="this.src='img/img404.png'" >
<?php
echo " </span>
<span class='card-body'>
<span class='h3 heading'>".$sitioreceta."</span><p>Lista de ingredientes</p>";
foreach($receta['recipe']['ingredientLines'] as $valor){
echo "<p>".$valor ."</p>";
}
echo" </span>
</a>
</div>
</div> ";
}
}
formulario entrada de datos
1
2
3
4
5
6
<form action="" method="get" class="">
<div class="">
<input type="text" name="recetaBuscar" placeholder="Buscar receta..." title="Introduzca un título" class=" "></div>
<div class=""><button type="" class=""></button>
</div>
</form>
Valora esta pregunta


0