Ich habe eine Curl-Funktion, die Daten auf Asteroiden anfordert und erhalten Ergebnisse zurück. Momentan bin ich nur hart in den Datumsparametern für das Ergebnis zu kodieren, ich möchte, dass der Benutzer in der Lage ist, ihre ausgewählten Daten einzugeben und das Ergebnis zu erhalten, wie könnte ich das hinzufügen, ich bin neu mit Curl und halte eine Wand, die code so weit ist unten,Übergabe Curl-Parameter als Parameter
<?php
session_start();
// Method: POST, PUT, GET etc
// Data: array("param" => "value") ==> index.php?param=value
function CallAPI($method, $url, $data = false)
{
$curl = curl_init();
switch ($method) {
case "POST":
curl_setopt($curl, CURLOPT_POST, 1);
if ($data)
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
break;
case "PUT":
curl_setopt($curl, CURLOPT_PUT, 1);
break;
default:
if ($data)
$url = sprintf("%s?%s", $url, http_build_query($data));
}
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($curl);
if ($result === FALSE) {
die(curl_error($curl));
}
curl_close($curl);
return $result;
}
$params = array(
'start_date' => '01/03/2016',
'end_date' => '02/03/2016',
'api_key' => 'demo key'
);
$data = json_decode(callAPI('GET', 'https://api.nasa.gov/neo/rest/v1/feed', $params));
//var_dump($data);
echo "<h1>Near-Earth Object (NEO) Report between " . $params['start_date'] . " and " . $params['end_date'] . "</h1>";
foreach ($data->near_earth_objects as $date => $count) {
echo "<p>" . sizeof($count) . " objects detected on $date</p>";
echo "<ol>";
foreach ($data->near_earth_objects->$date as $near_earth_object) {
echo "<li>" . $near_earth_object->name . " <a href='" . $near_earth_object->nasa_jpl_url . "'>" . $near_earth_object->nasa_jpl_url . "</a><br>";
echo "Estimated Diameter: " . $near_earth_object->estimated_diameter->meters->estimated_diameter_min . "-" . $near_earth_object->estimated_diameter->meters->estimated_diameter_max . " metres<br>";
echo "<ul>";
foreach ($near_earth_object->close_approach_data as $close_approach) {
echo "<li>Close approach on " . $close_approach->close_approach_date . " velocity " . $close_approach->relative_velocity->kilometers_per_hour . " km/h " . "missing " . $close_approach->orbiting_body . " by " . $close_approach->miss_distance->kilometers . " km</li> ";
}
echo "</ul></li>";
}
echo "</ol>";
}
?>
HI Jim Danke für die Hilfe, war wirklich fest auf, Wenn ich möchte, dass der Benutzer in der Lage sein, Daten auf der Seite einzugeben würde die GET-Methode etwas wie diese sein
–Die Eingabe 'name =" startDate "' wäre 'name =" start "', es sei denn, Sie ändern den Code, um stattdessen startDate zu verwenden. – Jim
HI Jim Ich frage mich, könntest du mir weiter helfen, ich habe eine Funktion hinzugefügt, die dem Benutzer erlaubt, das Startdatum einzugeben, und ich habe Code hinzugefügt, um das Enddatum auf 7 Tage zu setzen, aber die Seite wird geladen, bevor der Benutzer das Datum hinzugefügt hat Du hilfst. –