Sos verification champ vide avec php

flexi2202 -  
 flexi2202 -
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

  1. .Zoro. Messages postés 285 Statut Membre 33
     
    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
    0
  2. jisisv Messages postés 3678 Statut Modérateur 936
     
    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)
    0
  3. flexi2202
     
    merci a vous tous pour toute cette aide
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. ConceptcaB Messages postés 21 Statut Membre 3
     
    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.
    0
    1. jisisv Messages postés 3678 Statut Modérateur 936
       
      Simple , mais pas souple du tout.
      0
    2. Cephei Messages postés 128 Statut Membre 19
       
      Qui t'as dit que c'était pour faire le grand écart ?! ^^
      0
  6. flexi2202
     
    merci et remerci et tout ceux qui m aide c est vraiment super sympa
    0
  7. flexi2202
     
    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;
    }
    0
  8. .Zoro. Messages postés 285 Statut Membre 33
     
    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'; }
    0
  9. flexi2202
     
    merci pour la réponse
    mais le soucis c est que les champs certains champs peuve rester vide
    0
  10. .Zoro. Messages postés 285 Statut Membre 33
     
    ben tu ne test que ceux qui ne doivent pas etre vides
    ...
    0
  11. flexi2202
     
    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
    0