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 :

Conditions multiples avec AND et OR


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de monlou
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 363
    Points : 144
    Points
    144
    Par défaut Conditions multiples avec AND et OR
    Bonjour,
    Cette condition me donne des sueurs!

    je n'arrive pas a écrire cette condition avec des AND et des OR

    Parse error

    apres beaucoup de test avec les parentheses!


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    elseif ((isset($_POST['submit'])) AND (( isset ($_POST['provinces']=='Choisir')) OR (isset($_POST['villes']=='Choisir')) OR ( isset($_POST['provinces2']=='Choisir')) OR ( isset ($_POST['villes_destination'] =='Choisir')))) {
     
    		$erreur = true;
    			$msgErreur[] = 'Vous devez compléter tous les champs du formulaire <br/>
    			Veuillez recommencer !';
    			//break;
    		}
    ?>
    merci!

  2. #2
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 695
    Points : 188 895
    Points
    188 895
    Par défaut


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    elseif
    (
    	isset($_POST['submit'])
    	AND 
    	(
    		isset ($_POST['provinces']=='Choisir')
    		OR isset($_POST['villes']=='Choisir')
    		OR isset($_POST['provinces2']=='Choisir')
    		OR isset ($_POST['villes_destination'] =='Choisir')
    	)
    )
    Avoue quand même que c'est plus facile à lire comme ça . N'hésite franchement pas à mettre des retours et de l'indentation un maximum là où tu n'y vois pas clair, là où PHP ne comprend rien. Tu avais des paires de parenthèses un peu n'importe où, toi-même tu n'arrives pas à t'y retrouver. Pour une aide supplémentaire, utilise un EDI ou un éditeur de texte correct qui t'affiche la concordance des parenthèses (Notepad++, Visual Studio 2010 et bien d'autres que je n'utilise pas - oui, VS10 aussi pour PHP, c'ets nouveau).

  3. #3
    Membre habitué Avatar de monlou
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 363
    Points : 144
    Points
    144
    Par défaut
    Merci pour ta reponse, oui j'utilise notepad++ et les parentheses etaient tous concordant mais enfin..

    j'ai essaye ton script, il est vrai que l'affichage et la compréhension du script en gagnent de beaucoup!

    cependant, j'ai toujours le meme parse error ici:

    isset ($_POST['provinces']=='Choisir')

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     elseif (
    		isset($_POST['submit']) 
    		AND 
    		(
    		isset ($_POST['provinces']=='Choisir')
    		OR isset($_POST['villes']=='Choisir') 
    		OR isset($_POST['provinces2']=='Choisir') 
    		OR isset ($_POST['villes_destination'] =='Choisir'))) {
     
    		$erreur = true;
    			$msgErreur[] = 'Vous devez compléter tous les champs du formulaire <br/>
    			Veuillez recommencer !';
    			//break;
    		}
    et voici le script du select

    <
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select name='villes' id="villes">
    					<option value='-1'>Choisir</option>
    				</select> </div>

  4. #4
    Membre éclairé
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Points : 689
    Points
    689
    Par défaut
    Bonjour,

    Il n'est pas possible en PHP ne mettre une condition dans un paramètre de fonction.

    Le double = dans ton isset n'a pas lieu d'être, revois donc ta logique ;-).

    Bon courage.

  5. #5
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 695
    Points : 188 895
    Points
    188 895
    Par défaut
    Ça, j'avais complètement zappé !*



    Ici, tu peux simplement écrire des*
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_POST['provinces']=='Choisir'
    (Si $_POST['provinces'] n'est pas défini, il ne pourra pas être égal à quelque chose !).*

  6. #6
    Membre habitué Avatar de monlou
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 363
    Points : 144
    Points
    144
    Par défaut
    merci! dourouc05
    ca fonctionne bien maintenant

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

Discussions similaires

  1. Requête avec conditions multiples (OR/AND) sur le même champ
    Par GueloSuperStar dans le forum Langage SQL
    Réponses: 31
    Dernier message: 05/03/2013, 11h42
  2. condition if avec and /or
    Par panda78 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 20/07/2012, 15h03
  3. Conditions multiples avec Korn Shell
    Par dingoth dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 09/06/2008, 14h04
  4. Condition multiple avec And
    Par Aizen64 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 20/06/2007, 12h47
  5. Calculs dans une requete avec conditions multiples
    Par Sha1966 dans le forum Access
    Réponses: 3
    Dernier message: 13/01/2006, 16h18

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