Connaitre les variables qui n'ont pas été remplies

Répondre
Kurt92
Kurt92
Déconnecté
Bonjour,

Je m'essaye à la creation d'une interface de petite annonce moto.

Lorsque mon formulaire est bien remplie cela fonctionne.
Si un champs de mon formulaire n'est pas rempli, un message me l'indique.

Mais comment indiqué à l'utilisateur le champs qu'il à oublié de remplir ?

Voila où j'en suis pour le moment :
  1.  
  2. <?php
  3. $data = array ( 
  4.    'modele' => $_POST['modele'], 
  5.    'cylindree' => $_POST['cylindree'], 
  6.    'kms' => $_POST['kms']); 
  7.    
  8.    
  9. if (!empty($data['modele']) AND !empty($data['cylindree']) AND !empty($data['kms']) )  
  10. {  
  11. echo '<h1>Résumé</h1>';  
  12. echo 'Vous avec choisi de mettre en ligne un véhicule : <br/>';  
  13. echo 'dont le type est : '.$_POST['type'].'<br/>';  
  14. echo 'dont la marque est : '.$_POST['marque'].'<br/>';  
  15. echo 'dont le modèle est : '.$data['modele'].'<br/>';  
  16. echo 'dont la cylindrée est : '.$data['cylindree'].' cc<br/>';  
  17. echo 'qui a '.$data['kms'].' kms<br/>';  
  18. }  
  19. else  
  20. {  
  21. echo '<h1>Les zones suivantes n\'ont pas été remplies </h1>';  
  22.  
  23. foreach ($data as $cle => $element) 
  24.    { 
  25.    echo $cle.'<br/>'; 
  26.    }  
  27.  
  28. }  
  29.  
  30.  
  31. ?>
  32.  


Pour info, je n'ai pas besoin de controler les 2 premiers $_POST car il s'agit d'une liste de choix avec des valeurs sélectionnées par défaut.

Merci
Kurt92
Kurt92
Déconnecté
A y'est j'ai trouvé :

  1.  
  2. <?php
  3. $data = array ( 
  4.    'modele' => $_POST['modele'], 
  5.    'cylindree' => $_POST['cylindree'], 
  6.    'kms' => $_POST['kms']); 
  7.    
  8.    
  9. if (!empty($data['modele']) AND !empty($data['cylindree']) AND !empty($data['kms']) )  
  10. {  
  11. echo '<h1>Résumé</h1>';  
  12. echo 'Vous avec choisi de mettre en ligne un véhicule : <br/>';  
  13. echo 'dont le type est : '.$_POST['type'].'<br/>';  
  14. echo 'dont la marque est : '.$_POST['marque'].'<br/>';  
  15. echo 'dont le modèle est : '.$data['modele'].'<br/>';  
  16. echo 'dont la cylindrée est : '.$data['cylindree'].' cc<br/>';  
  17. echo 'qui a '.$data['kms'].' kms<br/>';  
  18. }  
  19. else  
  20. {  
  21. echo '<h1>Les zones suivantes n\'ont pas été remplies </h1>';  
  22.  
  23. foreach ($data as $cle => $element) 
  24.    { 
  25.    if (empty($element)) 
  26.       { 
  27.       echo $cle; 
  28.       } 
  29.    }  
  30.  
  31. }  
  32.  
  33.  
  34. ?>
  35.  


Pouvez vous me dire si cela vous semble logique et est ce bien correct ?
Kurt92
Kurt92
Déconnecté
Je reviens avec mon bout de code.

Comment faire pour qu'une valeur à 0 (zero) ne soit pas considéré comme empty.

J'ai essayé ci dessous mais sans succès :

  1. <?php
  2. $data = array ( 
  3.    'le modele' => htmlspecialchars ($_POST['modele']), 
  4.    'la cylindree' => htmlspecialchars ($_POST['cylindree']), 
  5.    'les kms' => htmlspecialchars ($_POST['kms']), 
  6.    'le prix' => htmlspecialchars ($_POST['prix']), 
  7.    'la garantie' => htmlspecialchars ($_POST['garantie'])); 
  8.    
  9.    
  10. if (!empty($data['le modele']) AND !empty($data['la cylindree']) AND !empty($data['les kms']) AND !empty($data['le prix']) AND !empty($data['la garantie']))  
  11. {  
  12. echo '<h1>Résumé</h1>';  
  13. echo 'Vous avec choisi de mettre en ligne ';  
  14. echo '<b>'.$_POST['type'].' '.$_POST['marque'].' '.$data['la cylindree'].' '.$data['le modele'].'</b>';  
  15. echo ' qui a <b>'.$data['les kms'].'</b> kms, qui a été mis en circulation en <b>'.$_POST['annee'].'</b> pour un prix de <b>'.$data['le prix'].'</b> €.<br/>'; 
  16.    if ($data['la garantie']> 0) 
  17.    { 
  18.    echo 'Le véhicule sera garanti <b>'.$data['la garantie'].'</b> mois.'; 
  19.    } 
  20.    else 
  21.    { 
  22.    echo 'Le véhicule n\'est pas garanti.';   
  23.    }  
  24. }  
  25. else  
  26. {  
  27. echo '<h2>Les zones suivantes n\'ont pas été remplies : </h2>';  
  28. echo '<ul>';  
  29. foreach ($data as $cle => $element) 
  30.    { 
  31.    if (empty($element) ) 
  32.       { 
  33.       echo '<li>'.$cle.'</li>' ; 
  34.       } 
  35.    }  
  36.  
  37. echo '</ul>';   
  38. }  
  39.  
  40.  
  41. ?> 
Kurt92
Kurt92
Déconnecté
  1. <?php
  2. $data = array ( 
  3.    'le modele' => htmlspecialchars ($_POST['modele']), 
  4.    'la cylindree' => htmlspecialchars ($_POST['cylindree']), 
  5.    'les kms' => htmlspecialchars ($_POST['kms']), 
  6.    'le prix' => htmlspecialchars ($_POST['prix']), 
  7.    'la garantie' => htmlspecialchars ($_POST['garantie'])); 
  8.    
  9.    
  10. if (!empty($data['le modele']) AND !empty($data['la cylindree']) AND !empty($data['les kms']) AND !empty($data['le prix']) AND !empty($data['la garantie']))  
  11. {  
  12. echo '<h1>Résumé</h1>';  
  13. echo 'Vous avec choisi de mettre en ligne ';  
  14. echo '<b>'.$_POST['type'].' '.$_POST['marque'].' '.$data['la cylindree'].' '.$data['le modele'].'</b>';  
  15. echo ' qui a <b>'.$data['les kms'].'</b> kms, qui a été mis en circulation en <b>'.$_POST['annee'].'</b> pour un prix de <b>'.$data['le prix'].'</b> €.<br/>'; 
  16.    if ($data['la garantie']> 0) 
  17.    { 
  18.    echo 'Le véhicule sera garanti <b>'.$data['la garantie'].'</b> mois.'; 
  19.    } 
  20.    else 
  21.    { 
  22.    echo 'Le véhicule n\'est pas garanti.';   
  23.    }  
  24. }  
  25. else  
  26. {  
  27. echo '<h2>Les zones suivantes n\'ont pas été remplies : </h2>';  
  28. echo '<ul>';  
  29. foreach ($data as $cle => $element) 
  30.    { 
  31.    if (empty($element)AND $element!=0 ) 
  32.       { 
  33.       echo '<li>'.$cle.'</li>' ; 
  34.       } 
  35.    }  
  36.  
  37. echo '</ul>';   
  38. }  
  39.  
  40.  
  41. ?> 
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Pour tester si le champ est "vide", je te conseille de calculer sa longueur avec la fonction strlen.

empty est un faux ami, car comme tu l'as remarqué, si la valeur vaut '0', empty retourne true.
Répondre
Accès rapide :

Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Bretagne - php - Moto - Kit graphique