karsten: if wertet POST-Request nicht richtig aus

Hallo..

bei meiner Registrierung passiert folgendes:

if(  
$_POST["regPw"]==''||  
$_POST["regPwRepeat"]==''||  
$_POST["regEmail"]==''||  
$_POST["regName"]==''){  
	... tu etwas  
}

Das Problem - er "tut etwas" obwohl alle Felder gefüllt sind. Also die If-Abfrage wird gemacht und einer dieser Fälle scheint einzutreffen obwohl:

Wenn ich var_dump($_POST) mache unmittelbar vor meiner IF-Schleife dann bekomme ich aber diese Ausgabe:

array(5) {  
["regName"]=>  string(6) "Joseph"  
["regEmail"]=>  string(13) "test@cool.lol"  
["regPw"]=>  string(7) "lollol"  
["regPwRepeat"]=>  string(7) "lollol"  
["reg_entry"]=>  string(25) "Akzeptieren und Anmelden." } 

"reg_entry" ist unrelevant und wird deshalb oben nicht abgefragt.

Warum aber wird die Abfrage wahr?

Gruß, Karsten

  1. Warum aber wird die Abfrage wahr?

    Auf die Schnelle nicht nachvollziehabar - ich würde anstatt deiner ==''-Geschichte zu empty() oder isset() raten.

    1. Auf die Schnelle nicht nachvollziehabar - ich würde anstatt deiner ==''-Geschichte zu empty() oder isset() raten.

      Das ist ja das komische, wenn ich !isset() verwende geht es auch nicht =/...

      1. Hi Karsten!

        Das ist ja das komische, wenn ich !isset() verwende geht es auch nicht =/...

        Vielleicht solltest du erstmal überprüfen, was isset überhaupt macht.

        Danach solltest du auf empty umsteigen.

        Und wenn es danach noch nicht funktioniert, dann solltest du einen funktionierenden Beispielcode mit dem Fehler posten.

        MfG H☼psel

        --
        "It's amazing I won. I was running against peace, prosperity, and incumbency."
        George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
        Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
  2. Hi!

    Das Problem - er "tut etwas" obwohl alle Felder gefüllt sind. Also die If-Abfrage wird gemacht und einer dieser Fälle scheint einzutreffen obwohl:

    Verlass dich nicht auf den Schein, prüfe nach! (error_repoerting ist auf E_ALL gestellt und display_errors auf on?)

    Wenn ich var_dump($_POST) mache unmittelbar vor meiner IF-Schleife dann bekomme ich aber diese Ausgabe:

    var_dump() lässt sich auch auf Ausdrücke anwenden, also auf die einzelnen Vergleiche und die verküpften.

    Außerdem: IF kommt zwar in SchleIFe vor, ist aber keine.

    Lo!

  3. Moin,

    Hallo..
    Wenn ich var_dump($_POST) mache unmittelbar vor meiner IF-Schleife dann bekomme ich aber diese Ausgabe:

    [code lang=php]array(5) {
    ["regName"]=>  string(6) "Joseph"
    ["regPw"]=>  string(7) "lollol"
    ["regPwRepeat"]=>  string(7) "lollol"
    Gruß, Karsten

    "regName" hat 6 zeichen mit "Joseph" und die regPW nebst dem Repeat sollten auch nur 6 haben, so interpretiere ich zumindest die screen-ausgabe. Laut deinem VarDump hat "regPw" und "regPwRepeat" aber 7 Zeichen.

    Wird da evtl. doch noch was mit übergeben, was deine IF-Klausel wahr macht?

    bb

    1. Hi there,

      "regName" hat 6 zeichen mit "Joseph" und die regPW nebst dem Repeat sollten auch nur 6 haben, so interpretiere ich zumindest die screen-ausgabe. Laut deinem VarDump hat "regPw" und "regPwRepeat" aber 7 Zeichen.

      Was völlig irrelevant ist, wenn er auf den leeren String prüft.

      Wird da evtl. doch noch was mit übergeben, was deine IF-Klausel wahr macht?

      Es sollte aber nur wahr werden, wenn er NICHTS mitgibt, also ist es auch egal, ob irgendein String 3, 6, 7 oder 50 Millionen Zeichen hat...

  4. Ey ich raste gleich - wie behindert ist das. Ich hab nicht nur E_ALL an ich hab auch E_Notice und alles an was nur Fehler ausgeben könnte.

    1. Hi Karsten!

      Ey ich raste gleich - wie behindert ist das. Ich hab nicht nur E_ALL an ich hab auch E_Notice und alles an was nur Fehler ausgeben könnte.

      Das ist nicht behindert, sondern guter Programmierstil beim Entwickeln von Anwendungen.

      Kannst du den Code eines Affenformulars hier posten, bei dem der Fehler auftritt?

      MfG H☼psel

      --
      "It's amazing I won. I was running against peace, prosperity, and incumbency."
      George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
      Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
    2. Hi,

      Ey ich raste gleich - wie behindert ist das.

      Was? Sich aufzuregen, statt mit Logik an die Fehlersuche heranzugehen?

      Ich hab nicht nur E_ALL an ich hab auch E_Notice und alles an was nur Fehler ausgeben könnte.

      Dann poste bitte ein Minimalbeispiel mit exaktem(!) Code, der zu dem Fehlverhalten führt, sowieso noch mal die zugehörige var_dump-Ausgabe der Daten, die übergeben wurden (und auch die bitte 1:1, und nicht zensiert/verändert).

      MfG ChrisB

      --
      Light travels faster than sound - that's why most people appear bright until you hear them speak.