2 Stimmen

Wie man Formularvariablen an mehrere URLs in PHP sendet (cURL?)

Es scheint, dass ich ein Problem habe, wenn ich versuche, Formularvariablen an mehrere URLs zu senden. Der folgende Code nimmt Variablen aus einem Formular und speichert sie in PHP. Dann versuche ich, diese Variablen an bestimmte URLs zu senden (die Variablen werden übermittelt, das habe ich getestet). Ich habe gehört, dass cUrl der richtige Weg ist, aber ich weiß nicht, ob es funktioniert, da ich nicht weiß, wie ich den Antwortcode abrufen soll.

 $name,
"src" => $src,
"em" => $email,
"ip" => $ip,
"signupDate" => $suDate
);

$data2 = array(
"firstname" => $name,
"email" => $email,
);

function post_to_url($url, $data) {
$fields = '';
foreach($data as $key => $value) { 
  $fields .= $key . '=' . $value . '&'; 
}
rtrim($fields, '&');

$post = curl_init();

curl_setopt($post, CURLOPT_URL, $url);
curl_setopt($post, CURLOPT_POST, count($data));
curl_setopt($post, CURLOPT_POSTFIELDS, $fields);
curl_setopt($post, CURLOPT_RETURNTRANSFER, 1);

$result = curl_exec($post);

curl_close($post);
}

post_to_url("http://exampleURL.com/page.php", $data);
post_to_url("http://exampleURL2.com/cgi-bin/add.cgi", $data2);

print_r($result);

?>

Jede Hilfe ist sehr willkommen. Danke

2voto

Elliot B. Punkte 15812

Im obigen Codebeispiel enthält $result die Antwort, nach der Sie suchen. Um alle Details der Variable anzuzeigen, verwenden Sie dies:

print_r($result);

print_r ist nützlich, wenn Sie nicht sicher sind, welchen Datentyp eine Variable hat oder welche Daten sie enthalten könnte. print_r gibt Ihnen alle verfügbaren Informationen über die Variable.

Bearbeiten: Ändern Sie auch curl_setopt($post, CURLOPT_POST, count($data)); zu curl_setopt($post, CURLOPT_POST, 1); CURLOPT_POST ist eine Wahr/Falsch-Option (http://php.net/manual/en/function.curl-setopt.php).

1voto

williamvicary Punkte 815

In Ihrem Funktionscode, wo Sie $result = curl_exec($post); haben, sind die $result Daten die Antwort. Also müssen Sie return $return; hinzufügen und die Funktion mit $response = post_to_url(...); aufrufen und die Antwort ausgeben.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X