Ankündigung

Einklappen
Keine Ankündigung bisher.

If Abfrage wird nicht ausgeführt

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • If Abfrage wird nicht ausgeführt

    Hallo Leute!
    Ich habe hier eine wirklich einfache If Abfrage aber sie funktioniert nicht. Nicht, dass eine Fehlermeldung erscheinen würde oder so, nein, PHP tut einfach so, als wäre sie gar nicht da. Die Variable, welche diese Abfrage aktiviert, wird über ein Formular abgeschickt. Schaut euch bitte den Code an und sagt mir was ich falsch gemacht habe:

    Code:
    <?
    
     if(schritt == "adresse") {
     
     $User_Email = $_POST["neue_adresse"];
     
     if("" == $User_Email) {
     
     echo "
    
    <font color=\"#FF0000\">Du hast keine neue E-Mail Adresse angegeben!</font></p>";
     
     } else { 
     
      echo "
    
    <font>E-Mail Adresse wurde geändert!</font></p>";
     
     $daten = "
     Update
     	Mon_User
     Set
      User_Email = $neue_adresse
     Where
      User_Name = '$User_Name' && User_Passwort = '$User_Passwort'";
    
    	    $result = mysql_query($daten) OR die(mysql_error());
     if(mysql_num_rows($daten)) {
    while($row = mysql_fetch_assoc($daten)) {
    $User_Email = $row('User_Email');}}
    } 
    }
    
    ?>
    
    
    <p align="left">~ E-Mail Adresse ändern ~</p>
    <div align="left"><form method="POST" action="index.php?section=pgb&rubrik=dein_profil&schritt=adresse">
      <table border="0" cellspacing="3" id="AutoNumber2" cellpadding="3">
        <tr>
          <td style="background-color: #F7FCE9">
          neue E-Mail Adresse:</td>
          <td style="background-color: #F7FCE9">
    <?
    echo   '<input type="text" name="neue_adresse" size="20" value="'.$User_Email.'">';
    ?>
    
    </td>
        </tr>
        <tr>
          <td style="background-color: #F7FCE9">
          <p align="center">
          <input type="submit" value="Ändern" name="B1"></td>
          <td style="background-color: #F7FCE9">
          <p align="center">
          <input type="reset" value="doch nicht" name="B2"></td>
        </tr>
      </table>
    </div>
    </form>
    
    
    
    </body>
    [/quote]

  • #2
    Code:
    if(schritt == "adresse") {
    aaahja..... ist es nicht schon vorher klar das schritt nicht gleich adresse ist???

    Code:
    if($schritt == "adresse") {
    du hast einfach nur das dollar zeichen vergessen....


    edit:
    und noch was
    Code:
     if("" == $User_Email) {
    ist ne blöde art ne variable auf keinen inhalt zu überprüfen
    Code:
     if(empty($User_Email)) {
    ist die elegantere lösung!

    edit2:
    und das obwohl ich viel mehr text hatte ;P

    Kommentar


    • #3
      du hast das $-zeichen vor der variable "schritt" vergessen

      /edit... da war ich wohl um 1/10 sek zu langsam

      Kommentar


      • #4
        ich würde das so überprüfen, ob etwas reingeschrieben wurde.
        Code:
        if ( strcmp( trim($_POST["neue_adresse"]),"") == 0 )
        {
            # da wurde nichts reingeschrieben ...
        }
        nur so am rande
        [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

        Kommentar


        • #5
          warum einfach wenns auch kompliziert geht

          Kommentar


          • #6
            Zitat von CeCero
            warum einfach wenns auch kompliziert geht
            weil bei anderen überprüfungen eine eingabe von 4 leerzeilen als !empty gewertet würde ..
            [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

            Kommentar


            • #7
              Zitat von rocco
              /edit... da war ich wohl um 1/10 sek zu langsam
              nein um 41...
              @cecero: das wichtige bei bens vorschlag ist die funktion trim()
              ob jetzt empty oder strcmp ist bei dem beispiel eigentlich egal...

              Kommentar


              • #8
                eine variable aus leerzeichen wird nichts als false bzw 0 gewertet?!
                wusst ich nicht, danke für die info

                Kommentar


                • #9
                  Dankeschön! Es hat geklappt. Mir ist aufgefallen, dass mir das oft passiert. Wenn ich das nochmal mache sagt einfach: "Lioba, dein standart Fehler..." oder sowas ähnliches.

                  @Ben: Dein System werde ich mir merken, danekschön!

                  Kommentar


                  • #10
                    Zitat von Ben
                    ich würde das so überprüfen, ob etwas reingeschrieben wurde.
                    Code:
                    if ( strcmp( trim($_POST["neue_adresse"]),"") == 0 )
                    {
                        # da wurde nichts reingeschrieben ...
                    }
                    nur so am rande
                    Erzeugt eine Notice, wenn $_POST["neue_adresse"] nicht gesetzt ist ..
                    aber die Idee des trim() ist gut ... jenachdem, welche Daten ich erwarte ...

                    Kommentar

                    Lädt...
                    X