Problème avec if

Bonjour,

J'ai un petit problème,

elseif

(($datadeux["piloteun"] == $data["piloteun"])
and ($data["pilotedeux"] == ($datadeux["pilotedeux"] or $datadeux["pilotetrois"]))
and ($data["pilotetrois"] == ($datadeux["pilotedeux"] or $datadeux["pilotetrois"])))
{ $point=6 ; }

quand l'ordi voit que la première ligne est bonne ( que piloteun égal piloteun) , il valide la condition alors que moi je veut qu'il vérifie les trois lignes avant de validez et que si une des trois lignes n'est pas bonne qu'il passe à la condition suivante.

Merci
Configuration: Windows Vista
Internet Explorer 7.0

8 réponses

  1. siou plait peut etre vous pouvez m'aider pour ca, comme tout a l'haure du moment qu'une des conditions est vrai il valide moi je veut tjs qu'il verifie tout

    elseif
    (

    ($data["piloteun"] == $datadeux["piloteun"]
    or $data["piloteun"] == $datadeux["pilotedeux"]
    or $data["piloteun"] == $datadeux["pilotetrois"]
    or $data["piloteun"] == $datadeux["pilotequatre"]
    or $data["piloteun"] == $datadeux["pilotecinq"])

    and

    ($data["pilotedeux"] == $datadeux["piloteun"]
    or $data["pilotedeux"] == $datadeux["pilotedeux"]
    or $data["pilotedeux"] == $datadeux["pilotetrois"]
    or $data["pilotedeux"] == $datadeux["pilotequatre"]
    or $data["pilotedeux"] == $datadeux["pilotecinq"])

    and

    ($data["pilotetrois"] == $datadeux["piloteun"]
    or $data["pilotetrois"] == $datadeux["pilotedeux"]
    or $data["pilotetrois"] == $datadeux["pilotetrois"]
    or $data["pilotetrois"] == $datadeux["pilotequatre"]
    or $data["pilotetrois"] == $datadeux["pilotecinq"])
    )
    { $point=5 ; }
    1. Contributeur
      là t'abuses un peu...

      y'a une parenthèse en trop :

      elseif
            (
                  ($data["piloteun"] == $datadeux["piloteun"])
            and 
                  ($data["pilotedeux"] == $datadeux["pilotedeux"] or $data["pilotedeux"] == $datadeux["pilotetrois"])
            and 
                  ($data["pilotetrois"] == $datadeux["pilotedeux"] or $data["pilotetrois"] == $datadeux["pilotetrois"])
            )
      { $point=6 ; } 
      1. ca me met ca

        Parse error: syntax error, unexpected T_LOGICAL_AND
        1. Salut,

          tu ne peut pas imbriquer ainsi les conditions, il faut qu'à chaque fois il y ait ==

          elseif(($data["piloteun"] == $datadeux["piloteun"])
          and ($data["pilotedeux"] == $datadeux["pilotedeux"] or $data["pilotedeux"] ==$datadeux["pilotetrois"]))
          and ($data["pilotetrois"] == $datadeux["pilotedeux"] or $data["pilotetrois"]==$datadeux["pilotetrois"]))
          { $point=6 ; } 


          Ce n'est peut être pas tes conditions exactes mais il faut cette forme là
          1. ca fé exactement la même chose c'est dingue de pas trouver la solution, je veut juste que les trois conditions soient vrai pour que ce soit validez sinon si il n'y en a qu'une ou deux il faut que ca passe à la suite

            essayer de m'aider merci d'avance
            1. Contributeur
              essaye
              && ou AND au lieu de and
              || ou OR au lieu de or