Wie kann ich POST-Daten an eine URL in PHP senden (ohne Formular)?
Ich werde es zum Senden einer Variablen verwenden, um ein Formular auszufüllen und zu senden.
Wie kann ich POST-Daten an eine URL in PHP senden (ohne Formular)?
Ich werde es zum Senden einer Variablen verwenden, um ein Formular auszufüllen und zu senden.
Antworten:
Wenn Sie Daten aus dem PHP-Code selbst (ohne Verwendung eines HTML-Formulars) an eine URL senden möchten, können Sie dies mit curl tun. Es wird so aussehen:
$url = 'http://www.someurl.com';
$myvars = 'myvar1=' . $myvar1 . '&myvar2=' . $myvar2;
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_POST, 1);
curl_setopt( $ch, CURLOPT_POSTFIELDS, $myvars);
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt( $ch, CURLOPT_HEADER, 0);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec( $ch );
Dadurch werden die Post-Variablen an die angegebene URL gesendet, und die Rückgabe der Seite erfolgt in $ response.
CURLOPT_FOLLOWLOCATION, CURLOPT_HEADERund CURLOPT_RETURNTRANSFERzu tun? Ich ziehe es vor, keinen Code zu kopieren, den ich nicht vollständig verstehe.
$urleine hat, $weil in PHP so eine Variable angegeben wird? Wo ziehst du die Grenze? "... nicht mehr Fragen zu bekommen" ist nicht die Einstellung von jemandem, der es schafft, sich selbst zu lernen, insbesondere zu programmieren.
cURL-less kannst du in php5 verwenden
$url = 'URL';
$data = array('field1' => 'value', 'field2' => 'value');
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST',
'content' => http_build_query($data),
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
var_dump($result);
Ihre Frage ist nicht besonders klar, aber wenn Sie POST-Daten ohne Verwendung eines Formulars an eine URL senden möchten, können Sie entweder fsockopen oder curl verwenden.