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 éprouvé
    Inscrit en
    Mars 2004
    Messages
    1 933
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 933
    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 : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    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
    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 émérite Avatar de haltabush
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    726
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 726
    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 chevronné Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    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
    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 expérimenté Avatar de More
    Inscrit en
    Janvier 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2007
    Messages : 252
    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 chevronné Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    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 émérite Avatar de haltabush
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    726
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 726
    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
    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 : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    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, 22h43
  2. utilisation plugin arbre drag and drop
    Par fabrizti dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 27/10/2010, 10h03
  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, 16h59
  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, 16h07
  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, 14h05

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