[PHP] Formulaire : pourquoi GET et pas POST ?

Formulaire : pourquoi GET et pas POST ? [PHP] - PHP - Programmation

Marsh Posté le 16-06-2005 à 17:51:59    

Salut !
 
    J'envoi un formulaire par mail. Les gens le remplissent directement dans le mail et me l'envoi en cliquant sur valider.
Lorsque je mets method="GET", j'arrive bien à récupérer les données en faisant un  
$societe=$_GET['societe'];
mais avec un method="POST" et un $societe=$_POST['societe'];
je récupère cette erreur :
Notice: Undefined index: codeClient in c:\program files\easyphp1-8\www\satisfaction\majbase.php on line 3
 
qqun saurait-il pk ?
 
merci d'avance


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 16-06-2005 à 17:51:59   

Reply

Marsh Posté le 16-06-2005 à 17:54:33    

Pourrais tu nous donner le code de ton formulaire.. please quand tu fait les deux façons..

Reply

Marsh Posté le 16-06-2005 à 18:06:38    

micfont999 a écrit :

Pourrais tu nous donner le code de ton formulaire.. please quand tu fait les deux façons..


 

Citation :


<form method="POST" action="http://gssclients:8061/satisfaction/majbase.php">
Nom de la société :
  <input type="text" name="societe" size="20" value="">
</form>


 
Et la même chose en remplaçant POST par GET dans la method


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 16-06-2005 à 18:27:02    

ouais bon déjà le message d'erreur dit que c'est "codeClient" qu'il ne trouve pas et non "societe"
 
Sinon, la partie de ton code que tu as postée est correcte.

Reply

Marsh Posté le 16-06-2005 à 18:33:56    

Bon déjà remplace ton formulaire par celui la :
 

Code :
  1. <form method="POST" action="majbase.php">
  2. Nom de la société :
  3.   <input type="text" name="societe" size="20" value="">
  4. </form>


 
Sa évite les url erronées par la suite
 
Et montre-nous le code PHP de ta page que tu as faite


---------------
“ Un avis d’un homme non avisé ne doit jamais être pris en compte par un homme avisé. ” Jean Plancher, 1810, Taverne « Chez Bonaparte »
Reply

Marsh Posté le 17-06-2005 à 09:28:07    

SomeBugsInMe a écrit :

ouais bon déjà le message d'erreur dit que c'est "codeClient" qu'il ne trouve pas et non "societe"
 
Sinon, la partie de ton code que tu as postée est correcte.


 
oui en fait il y en a 2 : codeClient et societe, mais vu que c'est exactement le même code, je n'ai pas mis tout


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 17-06-2005 à 09:29:57    

Envoie le code :o


---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
Reply

Marsh Posté le 17-06-2005 à 09:32:18    

Orission a écrit :

Bon déjà remplace ton formulaire par celui la :
 

Code :
  1. <form method="POST" action="majbase.php">
  2. Nom de la société :
  3.   <input type="text" name="societe" size="20" value="">
  4. </form>


 
Sa évite les url erronées par la suite


 
je ne peux pas mettre ça
parce que vu que le formulaire se trouve dans un mail reçu par le client,
majbase sans l'URL complet ne renverra à rien du tout...


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 17-06-2005 à 10:05:49    


 
ok, voilà satisfaction.php, qui envoie le formulaire :
 

Citation :


<?php
 
$bd="satisfaction"; // identifiant dsn
$user="root"; // login    
$password=""; // password    
$cnx = odbc_connect( $bd , $user, $password );
if( ! $cnx ) echo "Impossible de se connecter";
 
 
$valeur= odbc_exec( $cnx, "select idReponse, codeClient, societe, email2 from satisfaction" );
while( odbc_fetch_row( $valeur ) ) //tant que c pas la fin de la table
{
   ob_start();
   include ("questionnaire.php" );
   $output = ob_get_contents();    
   ob_end_clean();
}
$headers = "Content-type: text/html; charset=iso-8859-1\r\n";
mail (odbc_result($valeur,4),"Enquête de satisfaction",$output,$headers);
 
?>


 
questionnaire.php est le code du formulaire : il fait plusieurs pages bien tassées...
dont voici un résumé :
 

Citation :


<html>
 
<head>
<meta http-equiv="Content-Language" content="fr">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
</head>
 
<body>
<form method="POST" action="http://serveur:8061/satisfaction/majbase.php">
  <font SIZE="2" FACE="Tahoma, sans-serif"><b>Code client :
  <input type="text" name="codeClient" size="20" value="<?php echo odbc_result( $valeur, 2 ); ?>">&nbsp;&nbsp;&nbsp; Nom de la société :
  <input type="text" name="societe" size="20" value="<?php echo odbc_result( $valeur, 3 ); ?>"></b></font>
  <input type="submit" value="Envoyer" name="envoi"></p>
</form>
 
</body>
 
</html>


 
et voilà majbase.php qui récupère les infos du formulaire :
 

Citation :


<?php
 
$codeClient=$_POST['codeClient'];
$societe=$_POST['societe'];
 
$bd="satisfaction";  // identifiant dsn
$user="root";   // login    
$password="";   // password    
$cnx = odbc_connect( $bd , $user, $password );
if( ! $cnx ) echo "Impossible de se connecter";
 
$valeur= odbc_do( $cnx, "insert into satisfaction(codeClient,societe) VALUES ('".$codeClient."', '".$societe."');" );
 
?>


Message édité par sire de Botcor le 17-06-2005 à 10:31:45

---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 17-06-2005 à 10:20:28    

un formulaire dans un mail ?  
 
O_o
 
T'es vraiment obligé ? Tu peux pas les rediriger vers une page exprès sur le site ?


---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
Reply

Marsh Posté le 17-06-2005 à 10:20:28   

Reply

Marsh Posté le 17-06-2005 à 10:26:08    

plainsofpain a écrit :

un formulaire dans un mail ?  
 
O_o
 
T'es vraiment obligé ? Tu peux pas les rediriger vers une page exprès sur le site ?


 
ben je préfère éviter : ça me ferai perdre une bonne part des réponses !
mais je mettrai une URL quand même pour ceux qui reçoivent les mails en texte brut...


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 17-06-2005 à 10:27:57    


 
Pourtant les requetes sont bien récupérée avec $_POST c'est étrange..  
 
Par contre j'ai la berlu ou il n'y à pas de <form name method et autres?? > je vois pas ou tu commence ton formulaire.. c'est pi etre mes oeil.. :)

Reply

Marsh Posté le 17-06-2005 à 10:30:10    

micfont999 a écrit :

Pourtant les requetes sont bien récupérée avec $_POST c'est étrange..  
 
Par contre j'ai la berlu ou il n'y à pas de <form name method et autres?? > je vois pas ou tu commence ton formulaire.. c'est pi etre mes oeil.. :)


 
oups j'ai trop résumé, j'édite...
 
il manquait

Citation :


<form method="POST" action="http://serveur:8061/satisfaction/majbase.php">


 
(mais c'était dans le code)


Message édité par sire de Botcor le 17-06-2005 à 10:31:27

---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 17-06-2005 à 10:31:13    

A bah j'avais pas la berlu alors  :lol:  :lol: [:agapimo]

Reply

Marsh Posté le 17-06-2005 à 11:54:51    

qqun aurait une idée du pourquoi le GET passe et pas le POST ?
 
est-ce qu'il y a des inconvénients à utiliser GET ?  
(outre la perte de confidentialité)


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 17-06-2005 à 14:32:08    

sire de Botcor a écrit :

qqun aurait une idée du pourquoi le GET passe et pas le POST ?
 
est-ce qu'il y a des inconvénients à utiliser GET ?  
(outre la perte de confidentialité)


 
La taille des données que tu peux passer en GET est forcément limitée par la longueur max d'une URL (un truc du genre 1024 caractères)
 
edit: en fait la longueur max d'une url est légèrement supérieure à 2000 caractères


Message édité par SomeBugsInMe le 17-06-2005 à 14:39:32
Reply

Marsh Posté le 17-06-2005 à 14:46:07    

C'est vraiment très chelou que le post passe pas.. Vraiment très très bizar...

Reply

Sujets relatifs:

Leave a Replay

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