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 :

utilisation de if et and


Sujet :

Langage PHP

  1. #1
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 925
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 925
    Points : 419
    Points
    419
    Par défaut utilisation de if et and
    Bonjour, je fait un test sur mon url : http://www.test.com/liste_new.php?ca..._cat=batteries

    avec le code suivat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    if (((!empty($_GET['cat'])) and ($_GET['cat'] == 'camescopes')) and ((!empty($_GET['sous_cat'])) and ($_GET['sous_cat'] == 'batteries')))
    d'après mon url, le code ne doit s'exécuter puisque je demande cat=camescopes
    et sous_cat=batteries

    Ce que je ne comprends c'est que le code s'exécute?

    Pouvez-vous m'explqiuer pourquoi?

    Merci d'avance pour votre aide.

  2. #2
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Bonjour,

    Dans ton url , j'ai cat = accessoires photo...

  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
    Citation Envoyé par jml94
    Bonjour,

    Dans ton url , j'ai cat = accessoires photo...
    Justement il compare ça avec camescopes et ça passe quand même

  4. #4
    Membre éclairé Avatar de haltabush
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    726
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 726
    Points : 835
    Points
    835
    Par défaut
    Tes parenthèses ne sont pas bonnes.
    Essaye avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (!empty($_GET['cat']) and $_GET['cat'] == 'camescopes' and !empty($_GET['sous_cat']) and $_GET['sous_cat'] == 'batteries')

  5. #5
    Membre confirmé Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Points : 627
    Points
    627
    Par défaut
    Ou avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ((!empty($_GET['cat'])) and ($_GET['cat'] == 'camescopes') and (!empty($_GET['sous_cat'])) and ($_GET['sous_cat'] == 'batteries'))
    En fait tu n'as pas besoin de faire autant de sous-groupe si tu utilises AND.

  6. #6
    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
    Il y avait des parenthèses inutiles mais je pense pas que ça influe sur le résultat final donc le problème reste entier

  7. #7
    Membre actif Avatar de More
    Inscrit en
    Janvier 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2007
    Messages : 252
    Points : 268
    Points
    268
    Par défaut
    oui,

    je crois que le probleme est des variables recuperes, peut etre il faut afficher les variables pour savoir son contenu pour detecte d'ou viens l'erreur.


    ________________________

    Agir, rectifier, remettre tout a Zero mais ne jamais reste inactif a la recherche du parfait.

  8. #8
    Membre confirmé Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Points : 627
    Points
    627
    Par défaut
    Peux-tu leur affecter une valeur directement pour voir si le problème vient du GET?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php	$_GET['cat'] = 'camescopes';
    	$_GET['sous_cat'] = 'batteries';
    	if (((!empty($_GET['cat'])) and ($_GET['cat'] == 'camescopes')) and ((!empty($_GET['sous_cat'])) and ($_GET['sous_cat'] == 'batteries'))){
    		echo 'camescopes';
    	}
    	else {echo'Accessoires photos';}
    	echo'<hr>';
    ?>
    Ce code fonctionne chez moi...

  9. #9
    Membre éclairé Avatar de haltabush
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    726
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 726
    Points : 835
    Points
    835
    Par défaut
    Citation Envoyé par JWhite
    Il y avait des parenthèses inutiles mais je pense pas que ça influe sur le résultat final donc le problème reste entier
    Je maintiens : il y a une parenthèse de trop après la 1ère condition

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (((!empty($_GET['cat'])) and ($_GET['cat'] == 'camescopes')) and ((!empty($_GET['sous_cat'])) and ($_GET['sous_cat'] == 'batteries')))
    Edit: tiens, non c'est bon en fait... désolé

  10. #10
    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
    Il avait juste regroupé deux par deux les conditions, je compte neuf parenthèses ouvrantes et autant fermantes donc pas de souci syntaxique...


    Edit : rôôôôô tu m'as obligé à vérifier pour rien alors

  11. #11
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Bon déjà, j'aime bien mettre des varibales intermédiaires qui permettent de debugger plus facilement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $truc = $_GET['machin']
    if (empty($truc)) {...}
    Et du coup, c'est facile à savoir si tes variables sont alimentées en mettant des echos avant le test...

Discussions similaires

  1. Utilisation d'opéateur logique AND
    Par Julaxio dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 26/06/2011, 23h43
  2. utilisation plugin arbre drag and drop
    Par fabrizti dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 27/10/2010, 11h03
  3. Utiliser le même look and feel pour plusieurs projets
    Par benbauf dans le forum Interfaces Graphiques en Java
    Réponses: 4
    Dernier message: 03/09/2010, 17h59
  4. Utilisation d'un Look And Feel sans recompiler un programme
    Par Hell_Hibou dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 26/09/2009, 17h07
  5. suppression de lignes, utilisation where (suite de and et de or)
    Par jamesleouf dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 26/05/2008, 15h05

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