Sos verification champ vide avec php

bonjour a tous

j aimerais avoir une explication

avec ce code
si un de n importe quel champ est rempli on peux passer a l étape suivante
Code :

1. if(isset($_POST['nom']) && isset($_POST['adresse']) && empty($_POST['nom']) && empty($_POST['adresse'])){
2. echo '<h1 align="center">Des champs sont vides ! Vérifier nom,adresse ?<br />';
3. echo '<a href="javascript:history.back();">RETOUR AU FORMULAIRE</a></h1>';exit;
4. }

comment faire pour qu il puisse regarder chaque champ

quelle différence entre isset et empty

un énorme merci pour votre aide

11 réponses

  • Votes
  • Date
  • Date décroissante
  1. if isset verifie que l'existence d'une variable
    if empty regarde si la variable est vide (NULL, 0, chaine de zero caracteres)

    ensuite,
    pour connaitre l'etat de chaque champs,
    il faut les tester un par un
    1. Modérateur
      Tu peux essayer un code du genre
      <?php   
      $myfields = array("f1","f2", "f3");   
      function testGet($testfields) {   
              $badfields = array();   
              foreach ( $testfields as $field) {   
                      if( !isset($_GET[$field]) || empty($_GET[$field]) ) {   
                              $badfields[] = $field ;   
      # autres vérifications                           
                      }   
              }   
              return $badfields;   
      }   
      
      $missing = testGet($myfields);   
      if ( 0 == count($missing)) {   
              print("OK");   
      }   
      else {  
              print('<pre>'); 
              print_r($missing); 
              print('</pre>');   
      }   
      ?> 

      A améliorer, à adapter.

      Johan
      Gates gave ^H sold you the windows.
      GNU gave us the whole house.(Alexandrin)
      1. Et pour faire simple avec ce que tu as donné:

        if( (isset($_POST['nom']) && empty($_POST['nom'])) || (isset($_POST['adresse']) && empty($_POST['adresse']))){

        Suffit de dupliquer si tu as d'autres champs.
        1. Modérateur
          Simple , mais pas souple du tout.
        2. Qui t'as dit que c'était pour faire le grand écart ?! ^^
      2. merci et remerci et tout ceux qui m aide c est vraiment super sympa
        1. bonjour a tous

          ceci serait il valable

          if(
          (isset($_POST['nom']) && empty($_POST['nom'])) ||
          (isset($_POST['prenom']) && empty($_POST['prenom']))) ||
          (isset($_POST['mail']) && empty($_POST['mail'])))||
          (isset($_POST['adresse']) && empty($_POST['adresse'])))||
          (isset($_POST['code-postal']) && empty($_POST['code_postal'])))||
          (isset($_POST['telephone']) && empty($_POST['telephone'])))||
          (isset($_POST['ville']) && empty($_POST['ville'])))||
          (isset($_POST['pays']) && empty($_POST['pays'])))||
          { echo '<h1 align="center">Des champs sont vides ! Vérifier nom,adresse ?<br
          />';
          echo '<a href="javascript:history.back();">RETOUR AU

          FORMULAIRE</a></h1>';exit;
          }
          1. personnellement,
            je prefere verifier qu'un champ n'est PAS vide

            cela ne fait qu'une condition

            if(!empty($_POST['nom'])) { echo 'ok'; } else { echo 'le champ est incorrect'; }
            1. merci pour la réponse
              mais le soucis c est que les champs certains champs peuve rester vide
              1. merci pour la réponse

                j explique un peu mon soucis j ai donc 8 champs qui ne peuvent pas être vide c est d ailleurs ce que j essaye de faire la formule décrite ici plus haut