[RESOLU] Header $_POST

Header $_POST [RESOLU] - PHP - Programmation

Marsh Posté le 14-03-2006 à 21:54:33    

Bonjour, je voudrais savoir comment faire pour faire un header en envoyant en POST.
J'ai fais une recherche sur ce forum, et ca ne donne pas de solution.
 
En fait, j'ai un formulaire, lorsqu'on submit, on est envoye sur un site.
Moi, je voudrais enregisrer ces infos dans une BDD.
 
Donc j'avais pense a une page intermediaire, puis renvoye l'internaute sur le site.
Mais le site n'accepte que du POST !
 
Que faire ?  :pt1cable:  
Merci

Message cité 1 fois
Message édité par fabs2b le 15-03-2006 à 20:03:52
Reply

Marsh Posté le 14-03-2006 à 21:54:33   

Reply

Marsh Posté le 14-03-2006 à 22:01:33    

fabs2b a écrit :

Bonjour, je voudrais savoir comment faire pour faire un header en envoyant en POST.
J'ai fais une recherche sur ce forum, et ca ne donne pas de solution.
 
En fait, j'ai un formulaire, lorsqu'on submit, on est envoye sur un site.
Moi, je voudrais enregisrer ces infos dans une BDD.
 
Donc j'avais pense a une page intermediaire, puis renvoye l'internaute sur le site.
Mais le site n'accepte que du POST !
 
Que faire ?  :pt1cable:  
Merci


tu peux reformuler tout ça en FR s'il te plait
 
car moi pour le moment je vois que ça :  

Code :
  1. OrdiUser------Site
  2.               |
  3.              BDD


 
donc pourquoi tu ne post pas le formulaire en method=POST, ensuite avec le header(location:)  tu rediriges le user vers la page que tu veux ?
c'est ça que tu cherches ou bien ya encore un autre site en plus ?

Reply

Marsh Posté le 14-03-2006 à 22:09:54    

De mon formulaire je pars sur un autre site en POST.
 
Moi je voudrais sauvegarder ces infos au moment du clic sur le submit

Reply

Marsh Posté le 14-03-2006 à 22:11:12    

il veut certainement simuler le remplissage d'un formulaire distant

Reply

Marsh Posté le 15-03-2006 à 06:49:34    

Citation :


 
 
 
Construire une requête POST [27-09-2000]  
Posté par Perrich  
 
Ce script permet d'envoyer une requête POST à une page mais ne fait rien de plus. C'est à dire qu'il ne connait pas le resultat de la requete et que l'autre page n'est pas affichée.
 

Code :
  1. <?
  2. // Les données envoyées en POST sous forme d'url
  3. $data = 'txt1='.urlencode($txt1).'&txt2='.urlencode($txt2).'&id='.$id_session;
  4.  
  5. // monfichier.php3 est l'URL du fichier devant recevoir la requete POST
  6. $message  = "POST /monfichier.php3 HTTP/1.0\r\n";
  7. $message .= "Content-type: application/x-www-form-urlencoded\r\n";
  8. $message .= "Content-length: ".strlen( $data )."\r\n";
  9. $message .= "\r\n";
  10. $message .= $data."\r\n";
  11.  
  12. // monserveur correspond au serveur qui doit recevoir la requete
  13. $fd = fsockopen( "monserveur", 80 );
  14. fputs($fd,$message);
  15. fclose($fd);
  16. ?>


 


trouvé sur http://www.phpinfo.net/astuces/astuces110.html
 
Aide toi de l'outil Fiddler afin de t'aider dans la construction de ta requete POST, c'est un outil qui analyse la requete envoyée à un serveur, donc ben bonne chance


Message édité par gatsu35 le 15-03-2006 à 06:50:32
Reply

Marsh Posté le 15-03-2006 à 14:26:01    

Merci beaucoup, je vais essayer comme ca.
Mais je vais voir aussi du cote de CURL, j'ai vu qu'il etait possible de faire du header en POST

Reply

Marsh Posté le 15-03-2006 à 14:37:32    

le header n'a aucun rapport avec le contenu du message.
Que t'envoie des données en méthode GET en méthode POST ou que t'envoie un contenu qu'a rien à voir avec l'envoie de données nomé (par exemple si t'envoie le contenu d'un fichier) ton header sera envoyé exactement de la même maniére.
 
Il n'y a donc pas moyen de faire "du header en POST" mais il est possible d'établir un entête (header en anglais) pour un message contenant des données au format POST.

Reply

Marsh Posté le 15-03-2006 à 14:39:27    

Oui c'est exact, je mettais mal exprime...
 
Sinon en CURL ca donne quelques chose comme ca :  
 

Code :
  1. $sessions = curl_init();
  2. curl_setopt($sessions,CURLOPT_URL,'http://ex.com/exam.php');
  3. curl_setopt($sessions, CURLOPT_POST, 1);
  4. curl_setopt($sessions,CURLOPT_POSTFIELDS,'name=alex&year=18');
  5. curl_setopt($sessions,CURLOPT_COOKIEJAR,
  6. dirname(__FILE__).'/cookie.txt');
  7. curl_setopt($sessions,CURLOPT_FOLLOWLOCATION,0);
  8. curl_setopt($sessions, CURLOPT_HEADER , 1);
  9. curl_setopt($sessions, CURLOPT_RETURNTRANSFER,1);
  10. $my_load_page = curl_exec($this->sessions);

Reply

Marsh Posté le 15-03-2006 à 14:39:55    

Oui c'est exact, je m' etais mal exprime...
 
Sinon en CURL ca donne quelques chose comme ca :  
 

Code :
  1. $sessions = curl_init();
  2. curl_setopt($sessions,CURLOPT_URL,'http://ex.com/exam.php');
  3. curl_setopt($sessions, CURLOPT_POST, 1);
  4. curl_setopt($sessions,CURLOPT_POSTFIELDS,'name=alex&year=18');
  5. curl_setopt($sessions,CURLOPT_COOKIEJAR,
  6. dirname(__FILE__).'/cookie.txt');
  7. curl_setopt($sessions,CURLOPT_FOLLOWLOCATION,0);
  8. curl_setopt($sessions, CURLOPT_HEADER , 1);
  9. curl_setopt($sessions, CURLOPT_RETURNTRANSFER,1);
  10. $my_load_page = curl_exec($this->sessions);


Message édité par fabs2b le 15-03-2006 à 14:40:25
Reply

Marsh Posté le 15-03-2006 à 20:03:32    

J'ai trouve, grace a la MAGIE d'ajax
 
Quand un internaute clic sur le submit de mon formulaire qui l'envoit sur un autre site web, en meme temps j'appele une fonction onclick( qui insert dans ma BDD les donnees )
 
Ah !!! merci ajax  :lol:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed