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

  1. #1
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    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 éprouvé
    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
    Points : 984
    Points
    984
    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
    Points : 3 115
    Points
    3 115
    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...
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  4. #4
    Membre régulier 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
    Points : 109
    Points
    109
    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.
    Lupus or not Lupus ?

  5. #5
    Membre habitué
    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
    Points : 159
    Points
    159
    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 expérimenté

    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
    Points : 1 565
    Points
    1 565
    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 habitué
    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
    Points : 159
    Points
    159
    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...

  8. #8
    Membre expérimenté

    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
    Points : 1 565
    Points
    1 565
    Par défaut
    Citation Envoyé par Msieurduss
    Ben j'ai bien compris, mais quel intérêt ?
    S'il n'y a aucun champ vide, alors tous les champs sont remplis...
    Si tu avait lu le message d'erreur qu'il affiche dans son premier message tu aurais la réponse :

    Il s'agit d'un formulaire de modification.
    Donc tu as des champs disponibles pour rentrer une nouvelle adresse.
    => Soit aucun champ n'est rempli : dans ce cas là on garde l'ancienne adresse
    => Soit au moins un champ est rempli : dans ce cas là c'est un changement d'adresse et il faut que tout les champs soient remplis

  9. #9
    Membre régulier 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
    Points : 109
    Points
    109
    Par défaut
    Je ne vois pas bien l'interet ...

    Autant faire un formulaire de modification qui reprends les valeurs dans les champs avec l'attribut value et faire un update dans tout les cas (modification ou non).

    En réflechissant, ça ne sert que si on veut afficher un message à l'utilisateur aprés la modification.

    Mais bon aprés, c'est plutôt de la conception que du PHP.
    Lupus or not Lupus ?

  10. #10
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    Par défaut
    désolé je suis arrivé un peu tard.
    Fladnag à tout à fait compris mon problème.
    Je vais tester ce que tu m'as proposé.

    merci

+ 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 nesbla 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