Comment puis-je envoyer des données POST à une URL en PHP (sans un formulaire)? Je vais l'utiliser pour envoyer une variable pour remplir et soumettre un formulaire.POST de données à une URL en PHP
Répondre
Si vous cherchez à publier des données sur une URL à partir du code PHP lui-même (sans utiliser un formulaire HTML), il peut être fait avec boucle. Il ressemblera à ceci:
$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);
Cela envoie les variables de poste à l'adresse indiquée, et ce que les déclarations de page seront en réponse de $.
Votre question n'est pas particulièrement claire, mais si vous souhaitez envoyer des données POST à une URL sans utiliser de formulaire, vous pouvez utiliser fsockopen ou curl.
papillotes moins vous pouvez utiliser dans php5
$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);
file_get_contents est souvent désactivé sur les hôtes tiers et cURL est la seule option – KryptoniteDove
Dans la mesure où votre solution est correcte, je pense que l'OP voulait savoir comment le faire avec le formulaire HTML. Bien que la question n'était pas très claire. –
Nous ne pouvions pas comprendre le problème, mais il verrouille le programme. – albatross
d'élaborer ce que 'CURLOPT_FOLLOWLOCATION',' CURLOPT_HEADER' et 'CURLOPT_RETURNTRANSFER' font? Je préfère ne pas copier le code que je ne comprends pas complètement. –