[PHP] Header et POST

Bonjour, je voudrai envoyer des variables POST vers une page à l’aide de :

header("Location: [url="http://www.blurps.net"]http://www.blurps.net");[/url][/quote]comment faire ?

Je crois que tu vas être obligé de te taper le header à la main…
(à coups de fsockopen, fputs, &cie)
Ce message a été édité par xentyr le 07/10/2003

Aie, en POST je ne pense pas que ce soit possible avec une fonction header… mais tu peux toujours les envoyer par GET !

[quote]header(“Location:http://www.site.com/page.php?variable1=text&variable2=text”);[/quote]Par exemple
Ce message a été édité par BuGaLooD le 07/10/2003

Ah bon ? Arf fait chier !
Tant pis

Mais c’est quoi exactement “à la main” ???
Ce message a été édité par EzecKiel le 07/10/2003

Ça veut dire que tu vas te farcir la requête, à peu près comme ça (trouvé vite fait sous google) :

<?php // Set this to "1" to run a demonstration of this library. $show_example=0; ###################### ORIGINAL AUTHOR'S HEADER: // simple post method // version 1.0 by Andrus (andrus@vnet.ee) // Disclaimer: // everyone can change or use this code however and wherever they want ###################### MY HEADER (Benjamin Smith) /* I like the "share and share alike" philosophy - so this modified library is distributed under the LGPL. If you use this, and make any improvements, you need to publish this in the shared code library on www.phpbuilder.com - Benjamin Smith (bens_nospam@benjamindsmith.com */ // send out "browser" headers function post_send_headers ($fp) {  fputs ($fp, "Accept: */* ");  fputs ($fp, "Accept-Language: en ");  fputs ($fp, "Connection: Keep-Alive ");  fputs ($fp, "User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98) "); }   // post data and return reply function post_data ($host, $url, $data, $port=80) { // INPUT VALIDATION:  if (strlen($host)<1) return false;  if (strlen($url)<1) return false;  if ((!is_array($data)) || sizeof($data)<1) return false;  $fp = @fsockopen ($host, $port, $errno, $errstr, 120);  $ret = "";  //if (strncasecmp ($url, "http://", 7) == 0) $url = substr ($url, 7);  $req = substr ($url, $p);  if ($fp) {   fputs ($fp, "POST $req HTTP/1.0 ");   post_send_headers ($fp);   fputs ($fp, "Content-type: application/x-www-form-urlencoded ");   $out = "";   while (list ($k, $v) = each ($data)) { if(strlen($out) != 0) $out .= "&"; $out .= rawurlencode($k). "=" .rawurlencode($v);   }   $out = trim ($out);   fputs ($fp, "Content-length: ".strlen($out)."

“);
  fputs ($fp, “$out”);
  fputs ($fp, “
”);
  while(!feof($fp)) { $ret .= fgets($fp,128); }
  fclose ($fp);
 }
 return $ret;
}
 
// example how to use:
 if ($show_example!=1) {
// do nothing.
 } elseif (is_array($HTTP_POST_VARS) && sizeof ($HTTP_POST_VARS)>0)
echo "


IT WORKED! YOU ENTERED $var”;
 else {
$host=‘localhost’;
$form=’/sendform.php’;
$pass=array( ‘var’ => ‘some stuff’ );
echo $reply=post_data($host, $form, $pass);
 } ?>[/quote]Code sans AUCUNE garantie, juste pour te donner une idée…
Ce message a été édité par xentyr le 07/10/2003

Bon je vais me documenter sur PHP.net et je vois çà tranquillou

Oui, c’est un gros racourci mais mettre un header(”location:…” ); ca fait en fait un 403 comme reponse, et donc ca provoque ensuite un GET.
Ce message a été édité par GloP le 07/10/2003