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 :

if isset et ||


Sujet :

Langage PHP

  1. #1
    Débutant   Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Points : 262
    Points
    262
    Par défaut if isset et ||
    bonjour je voudrais avoir la condition suivante :

    si il existe le post nom et pas le post prenom

    OU

    s'il existe le get nom et pas le get prenom



    le probleme c est que moi je fais ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     if(!isset($_POST['prenom']) and isset($_POST['nom_patronyme']) || (!isset($_GET['prenom']) and isset($_GET['nom_patronyme'])))
       {
    et ca marche pas......



    pourquoi siouplais????


    merci bien

  2. #2
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Salut,
    problème subtile ^^, en fait je ne sais pas pourquoi et j'avais jamais vu mais les priorités des opérateurs && et and (aussi || et or) ne sont pas les mêmes : http://fr3.php.net/manual/fr/language.operators.php
    Donc soit t'utilises && et || soit and et or.
    Bizzare il semble manquer un bout dans la doc à ce sujet.

  3. #3
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Bonjour

    AND et OR ont une priorité faible alors que || et && ont une priorité forte.

    http://www.php.net/manual/fr/languag...ors.precedence

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 37
    Points : 26
    Points
    26
    Par défaut
    A mon avis la bonne syntaxe serait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if( (!isset($_POST['prenom']) && isset($_POST['nom_patronyme'])) || (!isset($_GET['prenom']) && isset($_GET['nom_patronyme'])) ) {
    //...
    }
    il manquait une parenthèse dans ta condition!?

  5. #5
    Débutant   Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Points : 262
    Points
    262
    Par défaut
    merci beaucoup tous le monde, maintenant, grace a vos conseils, ca marche!!!

  6. #6
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Citation Envoyé par Maheu Voir le message
    A mon avis la bonne syntaxe serait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if( (!isset($_POST['prenom']) && isset($_POST['nom_patronyme'])) || (!isset($_GET['prenom']) && isset($_GET['nom_patronyme'])) ) {
    //...
    }
    il manquait une parenthèse dans ta condition!?
    Justement si t'utilises && au lieu de and t'as besoin d'aucune parenthèse... (voir les tableaux des priorités cités en liens)

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

Discussions similaires

  1. [Tableaux] in_array VS isset
    Par Mr N. dans le forum Langage
    Réponses: 10
    Dernier message: 19/01/2006, 15h02
  2. [XSLT]L'équivalent XSL de isset (php)
    Par xilay dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 16/11/2005, 11h03
  3. retour isset( )
    Par LDDL dans le forum Langage
    Réponses: 3
    Dernier message: 02/11/2005, 23h59
  4. [Tableaux] la difference entre isset et empty
    Par ghita269 dans le forum Langage
    Réponses: 2
    Dernier message: 23/10/2005, 02h07
  5. equivalence du isset() php en asp
    Par jecht dans le forum ASP
    Réponses: 4
    Dernier message: 13/05/2004, 15h48

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