[PHP]Problème de formulaire

Problème de formulaire [PHP] - PHP - Programmation

Marsh Posté le 23-06-2006 à 13:36:41    

Bonjour à tous voilà j'ai un léger problème j'aimerai lorsque quelqun oublie par exemple de remplir le champ "nom" le texte qui précede ce champ nom appeler "Votre nom" se mette en rouge lorsque celui-ci est vide, voilà mon code :

 
Code :
  1. <?php
  2. function formulaire($Nom="",$Email="",$Sujet="",$Texte="" ) {
  3. ?>
  4.           <form action="<?php echo $PHP_SELF ?>" method="post"  enctype=="text/plain">
  5.             <p>
  6.               <label>
  7.               <?php
  8.     $eNom="Votre nom";
  9.     if (empty($vNom)) {
  10. echo <span style="color:#FF0000"> '$eNom' </span>;
  11. $erreur=1;
  12. }
  13.   else { echo "$eNom"; }?>
  14.               </label>
  15.               <input type="text" class="textfield" name="Nom" size="18" value="<?php echo trim(htmlentities($Nom)) ?>" />
  16.             </p>
  17.             <p>
  18.               <label> E-mail</label>
  19.               <input class="textfield" type="text" name="Email" size="18" value="<?php echo trim(htmlentities($Email)) ?>"/>
  20.             </p>
  21.             <p>
  22.               <label>Sujet</label>
  23.               <select class="textfield" name="Sujet" value="<?php echo trim(htmlentities($Sujet)) ?>">
  24.                 <option>Question</option>
  25.                 <option>Suggestion</option>
  26.                 <option>Probl&egrave;me</option>
  27.                 <option>Autre</option>
  28.               </select>
  29.             </p>
  30.             <p>
  31.               <label>Texte</label>
  32.               <textarea name="Texte" cols="30" rows="5" value="<?php echo trim(htmlentities($Texte)) ?>"></textarea>
  33.             </p>
  34.             <p style="text-align:center; padding-top:6px;">
  35.               <input name="envoyer" src="img/bouton_envoyer.png" type="image" />
  36.             </p>
  37.             <?
  38. }
  39. if(!isset($Nom)) {
  40. formulaire();
  41. }
  42. else {
  43. if (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-_.]?[0-9a-z])*\\.[a-z]{2,4}$",$vEmail) && ($erreur<>1)){
  44.  echo '<p>E-mail invalide</p>';
  45.  $erreur=1;
  46. }
  47. /*?>if (empty($vNom) || empty($vTexte) || empty($vEmail)) {
  48. echo "<p class='red'>Champ vide:</p>";
  49. $erreur=1;
  50. }<?php */
  51. if ($erreur==1) {
  52.  formulaire($Nom,$Email,$Sujet,$Texte);
  53. }
  54. else {
  55.  mail($destinataire,$vSujet,$message,$headers) ;
  56.  echo'<p style="text-align:center; padding-bottom:15px;">Votre E-mail a bien été envoyer.</p>' ;
  57. }
  58. }
  59. ?>

 

Car l'impression que c'est un peu du n'importe quoi mon script...


Message édité par analfabete le 15-09-2009 à 23:19:23
Reply

Marsh Posté le 23-06-2006 à 13:36:41   

Reply

Marsh Posté le 24-06-2006 à 13:35:06    

Primo:

Code :
  1. if(!isset($_POST['Nom'])) {
  2.     formulaire();
  3. }


Secundo:

Code :
  1. function formulaire(...........
  2. if(!isset($_POST['Nom'])) echo "<font color=red>";
  3. echo "Votre nom";
  4. if(!isset($_POST['Nom'])) echo "</font>";


Tertio, au tout début du script::

Code :
  1. $_POST['Nom']=trim(get_magic_quotes_gpc()?stripslashes($_POST['Nom']):$_POST['Nom']);
  2. if($_POST['Nom']=="" ) {
  3. unset($_POST['Nom']);
  4. }


... sans oublier que le formulaire n'est pasvalide non plus si d'autres champs sont vides.

Reply

Sujets relatifs:

Leave a Replay

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