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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Vérification avec empty [Débutant(e)]


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre confirmé Avatar de carelha
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 168
    Par défaut Vérification avec empty
    Bonsoir, voici un problème de grand grand débutant, je ne comprends même pas où est le problème ! Je cherche juste à vérifier si X variables d'un formulaire sont toutes vides :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    if (
    	empty($_POST['public'])
    	&&
    	empty($_POST['activite'])
    	&&
    	empty($_POST['lieu'])
    	&&
    	empty($_POST['description'])
    	&& 
    	empty($_POST['intervenants'])
    	&& 
    	empty($_POST['tarifs'])
    	&&
    	empty($_POST['ad1'])
    	&&
    	empty($_POST['ad2'])
    	&&
    	empty($_POST['ville'])
    	&&
    	empty($_POST['cp'])
    	&& 
    	empty($_POST['civ'])
    	&& 
    	empty($_POST['contact'])
    	&&
    	empty($_POST['telephone'])
    	&&
    	empty($_POST['email'])
    	)
    {echo 'toutes les variables sont vides';}
    le problème, c'est que quand j'envoie le formulaire, sans remplir aucun de ces champs, il est considéré qu'un champ au moins est rempli, puisque c'est le ELSE qui est pris en compte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    else
    {echo 'voici les variables';
    echo $_POST['email']; 
    echo $_POST['telephone']; 
    echo $_POST['contact'];
    echo $_POST['civ']; 
    echo $_POST['cp']; 
    echo $_POST['ville'];
    echo $_POST['ad2'];
    echo $_POST['ad1'];
    echo $_POST['tarifs'];
    echo $_POST['intervenants'];  
    echo $_POST['description'];
    echo $_POST['lieu'];
    echo $_POST['activite'];
    echo $_POST['public'];     
     }
    en envoyant le formulaire vide s'affiche donc 'voici les variables' et rien après, puisqu'il n'y a pas de variables...

    C'est le B. A. BA, mais parfois, plus c'est gros, moins on le voit... Merci de votre aide.

  2. #2
    Membre émérite
    Inscrit en
    Mai 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 673
    Par défaut
    Et avec isset(), ça donne quoi ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $t = 0;
    foreach($_POST as $val)
    {
        if(isset($val)) $t++;
    }
     
    echo 'Il y a '.$t.' variables remplies !';

  3. #3
    Membre confirmé Avatar de carelha
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 168
    Par défaut
    merci de ton passage. la réponse est "Il y a 16 variables remplies ! " soit toutes mes variables alors que je n'ai fait que poster le formulaire sans rien remplir

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 132
    Par défaut
    Le probleme des formulaires, c'est que meme si les valeurs sont égales a "" (rien), pour le script, elles sont attribuées. La solution consiste donc a faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if ($tavariable != "")
    {
    ...
    }
    Et ca devrait marcher

  5. #5
    Membre confirmé Avatar de carelha
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 168
    Par défaut
    merci, marc, mais sur le même principe si je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    	if 
    	(
    	$_POST['public']==""
    	&&
    	$_POST['activite']==""
    	&&
    	$_POST['lieu']==""
    	&&
    	$_POST['description']==""
    	&& 
    	$_POST['intervenants']==""
    	&& 
    	$_POST['tarifs']==""
    	&&
    	$_POST['ad1']==""
    	&&
    	$_POST['ad2']==""
    	&&
    	$_POST['ville']==""
    	&&
    	$_POST['cp']==""
    	&& 
    	$_POST['civ']==""
    	&& 
    	$_POST['contact']==""
    	&&
    	$_POST['telephone']==""
    	&&
    	$_POST['email']==""
    	)
     
    {echo 'toutes les variables sont vides';}
    il devrait comprendre que mes variables sont vides, or ce n'est pas le cas, il considère toujours que j'ai 16 variables définies.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 132
    Par défaut
    Je ne comprends pas ce que tu veux dire dans ton dernier message... Ca marche ou non la solution que je t'ai proposée ?

  7. #7
    Membre confirmé Avatar de carelha
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 168
    Par défaut
    j'ai utilisé if ($_POST['variable']=="") pour toutes les variables, et le problème reste le même, les 16 sont définies. La nuit porte conseil, merci à toi.

  8. #8
    Membre émérite
    Inscrit en
    Mai 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 673
    Par défaut
    moi, j'aurais bien vu le test inverse :

    if( !$_POST['var1'] && !$_POST['var2'] && ...)
    echo 'Toutes les variables sont vides !';

  9. #9
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 012
    Par défaut
    es-tu sûr que dans ton formulaire tu n'envoies que des vides ?

    pour débugger, au lieu de faire des echo $_POST['email']; , fais des
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo 'email---', $_POST['email'], '---', strlen($_POST['email']), '---';
    etc
    le texte 'email' c'est pour savoir ou tu es
    les --- c'est pour mieux voir, par exemple s'il y a un espace
    et le strlen c'est pour voir la longueur de chaque post

  10. #10
    Membre confirmé Avatar de carelha
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 168
    Par défaut
    Merci à vous !!!

    le problème était dans mon formulaire, j'avais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      <option value=" " selected>Choisir</option>
    au lieu de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      <option value="" selected>Choisir</option>
    merci bcp Francis pour le strlen, je note ca précieusement !

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

Discussions similaires

  1. [MySQL] Vérification avec get_magic_quotes_gpc
    Par BRUNO71 dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 03/04/2010, 08h46
  2. vérification avec un formulaire
    Par patheo2 dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 21/12/2009, 19h49
  3. [MySQL] ajout de données avec empty
    Par argon dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 19/11/2008, 08h40
  4. Méthode de vérification avec le Onsubmit
    Par L'aigle de Carthage dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 04/04/2008, 21h28
  5. vérification avec CHECK possible à partir de quelle version?
    Par trotters213 dans le forum Requêtes
    Réponses: 5
    Dernier message: 23/10/2006, 14h10

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