andre: IF Abfrage funktioniert nicht ?!

hallo.

es sind zwei variablen "name" und "text"

OK wenn $name oder $text nicht leer
OK wenn $name ungleich "name"
OK wenn $text ungleich "text"

Sollte doch stimmen, oder?

if($name != "" && $text != "" || ($name != "name" && $text != "text")){
[machwas]}
else{
[machwas]
}

er kommt nicht in den ELSE Zweig wenn $name = name und $text = text ist.

vielen Dank
André

  1. hi

    probiers mal so.

    if(($name != "" && $text != "" )|| ($name != "name" && $text != "text"))

    mfg falke

  2. Hi!

    OK wenn $name oder $text nicht leer
    OK wenn $name ungleich "name"
    OK wenn $text ungleich "text"

    Sollte doch stimmen, oder?

    if($name != "" && $text != "" || ($name != "name" && $text != "text")){
    [machwas]}
    else{
    [machwas]
    }

    er kommt nicht in den ELSE Zweig wenn $name = name und $text = text ist.

    Durch dein || (=oder) gibst du an, dass wenn $name sowie $text nicht leer sind oder $name gleich name und $text gleich text ist, er die Funktion machwas() aufrufen soll, da der zweite Teil durch dein || dann TRUE wird.

    Richtig müsste es also heißen:

    if($name != "" && $text != "" && ($name != "name" && $text != "text")){
     [machwas]}
    else{
     [machwas]
    }

    Grüße,
    Fabian St.

    --
    Endlich online: http://fabis-site.net
    --> XHTML, CSS, PHP-Formmailer, Linux
    Selfcode: ie:% fl:|  br:^ va:) ls:& fo:) rl:( n4:° ss:| de:> js:| ch:| mo:) zu:)
    1. Danke!! So funktioniert es!

    2. in bezug darauf

      OK wenn $name oder $text nicht leer
      OK wenn $name ungleich "name"
      OK wenn $text ungleich "text"

      klappt das dann auch ?

      if($name != "" or $text != "" or $name != "name" or $text != "text")

      mfg falke

      1. Hi!

        in bezug darauf

        OK wenn $name oder $text nicht leer
        OK wenn $name ungleich "name"
        OK wenn $text ungleich "text"

        klappt das dann auch ?

        if($name != "" or $text != "" or $name != "name" or $text != "text")

        Nein! Der ganze Ausdruck wird dann nämlich schon TRUE wenn einer davon TRUE ist und das entspricht nicht den gegebenen Forderungen!

        Grüße,
        Fabian St.

        --
        Endlich online: http://fabis-site.net
        --> XHTML, CSS, PHP-Formmailer, Linux
        Selfcode: ie:% fl:|  br:^ va:) ls:& fo:) rl:( n4:° ss:| de:> js:| ch:| mo:) zu:)
        1. ok wenn name oder text nicht leer da reicht doch eins von beiden.

          mfg falke