controle formulaire puis post

controle formulaire puis post - PHP - Programmation

Marsh Posté le 31-05-2006 à 14:03:34    

bonjour à tous
 
est il possible de faire un controle de formulaire et si celui-ci est valide de lancé le post??
 

Reply

Marsh Posté le 31-05-2006 à 14:03:34   

Reply

Marsh Posté le 31-05-2006 à 14:07:25    

Oui, et c'est très simple à l'aide d'un script en javaScript...
 
http://www.toutjavascript.com/savoir/savoir06_4.php3
 
Là, c'est même trop, mais le principe y est.
 
@+++


Message édité par Glock21 le 31-05-2006 à 14:08:44

---------------
Je donne souvent l'air d'être ailleurs, mais en faite, je ne suis nulle part...
Reply

Marsh Posté le 31-05-2006 à 14:12:30    

merci en effet c simple

Reply

Marsh Posté le 31-05-2006 à 14:15:44    

Pour mémoire: ce genre de controle peut-être fait coté client(en js) uniquement pour des questions d'ergonomie et de facilité pour l'utilisateur.
Tous les controles devront également être fait coté serveur.
 

Reply

Marsh Posté le 31-05-2006 à 14:20:05    

Exacte :)


---------------
Je donne souvent l'air d'être ailleurs, mais en faite, je ne suis nulle part...
Reply

Marsh Posté le 31-05-2006 à 14:45:54    

je n ai pas d'erreur dans  mon code mais sa ne marche pas et je ne comprends pas pourquoi??
 

Code :
  1. <form name="form1" method="post" action="<? if(isset ($liens)) echo $liens; ?>" >
  2. <table width="700" border="0" bgcolor="#FFFFEC">
  3.   <tr bgcolor="#000000" align="center">
  4.   <td colspan = 3><span class="Style3"><strong>Votre commande</strong> <span class="Style7">étape 2/2</span></span></td>
  5.   </tr>
  6.   <tr align="center">
  7.   <td colspan =3><?php
  8.    if(isset($_POST["nom"],$_POST["adresse"],$_POST["codepostal"],$_POST["pays"]))
  9.    {if( $_POST["nom"]=="" or $_POST["adresse"]=="" or $_POST["codepostal"]=="" or $_POST["pays"]=="" )
  10.      {echo '<font color="red" size="+2">Tous les champs doivent être remplis</font>';
  11.  $liens="panier_suite.php";}
  12. else
  13. { $liens="panier_fin.php";}}?>
  14.   </td>
  15.   </tr>
  16.  
  17.   <tr>
  18.   <td width="140"></td>
  19.     <td width="153">Nom Pr&eacute;nom :</td>
  20.     <td width="385">
  21.       <input  size="40" type="text" name="nom">
  22.      [...]


 
<form name="form1" method="post" action="<? if(isset ($liens)) echo $liens; ?>" > je ne comptends pas ce qui ne va pas sur la variable $liens... je ne suis pas redirigé qd mon controle est bon...
 
si quelqu'un voit une erreur...

Reply

Marsh Posté le 31-05-2006 à 15:00:51    

c'est bon j ai trouvé je suis un peu debile mais bon

Reply

Marsh Posté le 31-05-2006 à 15:09:10    

C'est juste qu'elle n'est pas initialisé lors de l'ouverture de la page. Enfin je pense. Essai de faire le traitement du formulaire dans une autre page, qui sera appelée par "action=" dans ton formulaire.
 
En clair, il te faut 2 pages :  
 
1 avec le formulaire, et action="traitement.php",
et une (traitement.php) ou tu récupert les info avec des $_POST, et ou tu fais  

zit_zit a écrit :

Code :
  1. if(isset($_POST["nom"],$_POST["adresse"],$_POST["codepostal"],$_POST["pays"]))
  2.    {if( $_POST["nom"]=="" or $_POST["adresse"]=="" or $_POST["codepostal"]=="" or $_POST["pays"]=="" )
  3.      {echo '<font color="red" size="+2">Tous les champs doivent être remplis</font>';
  4.  $liens="panier_suite.php";}
  5. else
  6. { $liens="panier_fin.php";}}?>



 
En faite le PHP est executé coté serveur, donc quand tu ouvre ta page, tout ton PHP est déjà fait, donc tu ne peut pas accéder aux champs 'nom', ou 'lien', qui sont créés en dessous. Je ne suis pas sur d'être clair, mais bon...


---------------
Je donne souvent l'air d'être ailleurs, mais en faite, je ne suis nulle part...
Reply

Marsh Posté le 31-05-2006 à 15:09:26    

Snif, tout ça pour rien... :)


---------------
Je donne souvent l'air d'être ailleurs, mais en faite, je ne suis nulle part...
Reply

Marsh Posté le 01-06-2006 à 10:22:00    

merci pour ton aide je dois revoir mes methode de prog...

Reply

Marsh Posté le 01-06-2006 à 10:22:00   

Reply

Marsh Posté le 01-06-2006 à 10:33:49    

Mouais, je suis pas sur que MES methodes soient les bonnes... :heink:


---------------
Je donne souvent l'air d'être ailleurs, mais en faite, je ne suis nulle part...
Reply

Sujets relatifs:

Leave a Replay

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