IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

vérification de champ vide ou rempli


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Mars 2004
    Messages
    1 939
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 939
    Par défaut vérification de champ vide ou rempli
    Bonjour,

    j'ai un code ou je veux tester des champs.
    Si ou moins un des champs est rempli, je teste si il y a au moins un champs vide.
    Si c'est le cas, j'envoie un messgae d'erreur. voici mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    if((!empty($nomf)) or (!empty($prenomf)) or (!empty($ad_ligne1f)) or (!empty($ad_ligne2f)) or (!empty($ad_cpf)) or (!empty($ad_villef)))
    									{
    										if((empty($nomf)) or (empty($prenomf)) or (empty($ad_ligne1f)) or (empty($ad_ligne2f)) or (empty($ad_cpf)) or (empty($ad_villef)))
    										{ 
    											$erreur[] = '<center><font color="#FF0000">Si l\'adresse de facturation est différente, il faut repmlir tous les champs</font></center>';
    											echo 'erreur01';
    										}
    									}
    le problème c'est que ce code ne focntionne pas...

    Quand je rempli un seul champ, il devrai m'envoyer un message d'erreur maisl il ne le fait...

  2. #2
    Membre émérite
    Avatar de Biglo
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 537
    Par défaut
    Salut,

    Tu as un problème de parenthésage dans ton deuxième if. Et utilise plutôt || que "or". Plus optimisé et le "or" est surtout utilisé pour des gestions d'erreurs.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(empty($nomf) || empty($prenomf) || empty($ad_ligne1f) || empty($ad_ligne2f) || empty($ad_cpf) || empty($ad_villef))

  3. #3
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Je crois qu'il manque aussi une parenthèse ouvrante juste après le premier if.

    Mais il est pas un peu bizarre cet algo, le premier if teste si il y a un champ rempli et le second teste si un champ est vide, c'est bien ce que tu expliques mais ça paraît bizarre comme démarche...

  4. #4
    Membre confirmé Avatar de KneXtasY
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 121
    Par défaut
    Effectivement, c'est trés bizarre ...

    Pour vérifier qu'au moins un des champs a été rempli et donc que l'utilisateur est passé par le formulaire pour accèder à cette page, je te conseil d'utiliser un champ de type hidden.

    Si la variable correspondant au champ hidden existe alors à ce moment la, tu peux effectuer la vérification sur l'ensemble des champs.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2006
    Messages : 216
    Par défaut
    Pour un code moins bizarre je te conseille un algo du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SI "champ 1 vide" OU "champ 2 vide" OU ... {
             Afficher un message d'erreur
    } SINON {
             Code si tout va bien...
    }
    Ca sera moins lourd non ?

  6. #6
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Par défaut
    non, car il cherche a verifier en fait que :
    * soit tout les champs sont remplis
    * soit aucun champs n'est remplis.

    Tu pourrais donc faire un code avec du xor ;o)

    Mais restons simple ;o)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $tab=array($champ1, $champ2, $champ3, $champ4);
    $tab=array_unique(array_map('empty', $tab));
    if (count($tab) > 1) {
    // message d'erreur : il y a a la fois un champ remplis et un champ vide ;o)
    }
    comment ca pas lisible ? pourtant ca devrait marcher ;o))

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2006
    Messages : 216
    Par défaut
    Citation Envoyé par Fladnag
    non, car il cherche a verifier en fait que :
    * soit tout les champs sont remplis
    * soit aucun champs n'est remplis.
    Ben j'ai bien compris, mais quel intérêt ?
    S'il n'y a aucun champ vide, alors tous les champs sont remplis...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. champ vide seulement si un champ spécifique est rempli
    Par marcuswillbe dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 28/11/2008, 22h50
  2. Pb de tri avec champs vide
    Par Invité dans le forum Langage SQL
    Réponses: 2
    Dernier message: 01/06/2004, 17h42
  3. Test sur un champs vide
    Par PrinceMaster77 dans le forum ASP
    Réponses: 2
    Dernier message: 27/04/2004, 12h54
  4. [conception] champs vides ou plusieurs tables ?
    Par in dans le forum Décisions SGBD
    Réponses: 7
    Dernier message: 17/02/2004, 08h41
  5. tri avec les champs vides en dernier
    Par r-zo dans le forum Requêtes
    Réponses: 11
    Dernier message: 03/09/2003, 13h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo