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 :

condition qui ne fonctionne pas


Sujet :

Langage PHP

  1. #1
    Invité(e)
    Invité(e)
    Par défaut condition qui ne fonctionne pas
    Bonjour à toutes et à tous ! Récemment, j'ai découvert un problème sur une condition. J'ai une page en php qui reçoit les valeurs d'une autre page. J'ai fait un echo pour voir si je recevais les valeurs, et je les obtiens sans problème. Par contre, lorsque j'installe une condition, "si ce que je reçois est vide", cette dernière ne fonctionne pas. Je trouve cela très étrange alors que j'utilise beaucoup le php ...
    Voici le code que j'ai élaboré :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    while ($i<$nbResults)
               {
    	            $copies="imprimer".$i;
    	            $copies=$_POST[$copies];    
    	 	        echo $copies;	
     
    	 	    if ($copies!=="")
                           {
                           //$dest="/var/www/PROJET_BTS/freepaper.0.8.3/documents/$i.pdf";
                          // copy ($copies,$dest);
    					   echo "1";
                           } 
    	            $i++;
                }
    Ici, " echo $copies; " m'affiche bien les valeurs reçues. Par contre, lorsque aucune valeur est envoyée, " echo $copies; " ne m'affiche rien et echo " 1" m'affiche 1. TRES BIZZARE !!!

    Une grande aide serait la bienvenue !

    Merci d'avance,
    RORO
    Dernière modification par sabotage ; 07/02/2010 à 01h17.

  2. #2
    Membre chevronné Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Points : 1 895
    Points
    1 895
    Par défaut
    au lieu de "echo $copies", fais ça pour bien voir ce qu'il y a dans la variable :
    GNAP !

  3. #3
    Membre éclairé
    Avatar de hornetbzz
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Octobre 2009
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial

    Informations forums :
    Inscription : Octobre 2009
    Messages : 482
    Points : 773
    Points
    773
    Par défaut
    Dans le cas où tu veux émettre la condition "différent de ", il ne faut pas doubler le signe "=" :

    Le code correct serait donc :
    Ceci dit, cela serait plus propre en remplaçant

    par


  4. #4
    Invité(e)
    Invité(e)
    Par défaut
    Merci 1000 fois à vous deux ! J'avais déjà utilisé empty mais de la mauvaise façon, ça ne fonctionnait donc pas. Au lieu d'écrire !empty(....), j'avais écrit empty!( .... ).
    Merci encore,
    bonne journée, RORO.

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Dans le cas où tu veux émettre la condition "différent de ", il ne faut pas doubler le signe "=" :
    !== signifie "différent de" et/ou "n'etant pas de même type".
    Il peut donc être ici même si ca n'a pas trop d'interêt.

    Ceci dit, cela serait plus propre en remplaçant
    empty() n'est pas plus propre que !="".
    si tu demandes a l'utilisateur d'indiquer une quantité et que l'utilisateur indique 0, tu seras bien embeté si tu testes que le champ est rempli avec empty()
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre éclairé
    Avatar de hornetbzz
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Octobre 2009
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial

    Informations forums :
    Inscription : Octobre 2009
    Messages : 482
    Points : 773
    Points
    773
    Par défaut
    ah oui c'est vrai, je n'avais jamais pris en compte ce point !

    Ceci dit '!=' fonctionne très bien dans le cas où on ne veut comparer que le contenu sans comparer le type. Et comme PHP étant faiblement typé...

    C'est aussi vrai qu'il faut ajouter un contrôle de ce qui est reçu dans $_POST. Et là, qu'on utilise 'empty' ou pas, ça reste le même probleme. Sauf que 'empty' me parait juste plus clair à la relecture d'un code.

  7. #7
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est aussi vrai qu'il faut ajouter un contrôle de ce qui est reçu dans $_POST. Et là, qu'on utilise 'empty' ou pas, ça reste le même probleme.
    Non justement c'est l'inverse.
    Si tu testes que ton champ est rempli avec empty() tu empeches ton utilisateur de saisir un zerp.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Condition qui ne fonctionne pas
    Par korked dans le forum Général Java
    Réponses: 0
    Dernier message: 16/05/2015, 20h44
  2. Condition qui ne fonctionne pas
    Par Moymoy dans le forum Langage
    Réponses: 28
    Dernier message: 09/09/2013, 15h31
  3. Condition qui ne fonctionne pas dans une page jsp
    Par Lopak dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 29/04/2010, 16h37
  4. condition (if/else) qui ne fonctionne pas
    Par oceane751 dans le forum Langage
    Réponses: 8
    Dernier message: 24/07/2007, 23h58
  5. [vb.net] Condition qui ne fonctionne pas
    Par dyree dans le forum ASP.NET
    Réponses: 3
    Dernier message: 13/06/2006, 09h55

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