problem bei if abfrage!

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

  • problem bei if abfrage!

    hallo,

    ich hab mir gard einen login gecodet der auch soweit geht doch ich hab das problem wenn ich einen falschen username/passwort eingebe das dann gar nichts angezeigt wird dabei sollte eigentlich
    "Das Passwort oder der Username ist flasch!" angezeigt werden!

    hier ist der code:

    <?
    include("connect.php");
    ### Eingabe-Checken ###

    if($username=="" || $pass=="")
    {
    echo "Bitte fülle alle Felder aus!";
    }
    else
    {
    $result = mysql_query("SELECT * FROM modul_teddy WHERE username='$username'");
    while($login = mysql_fetch_array($result))
    {
    if($login[username]=="$username" && $login[pass]=="$pass")
    {
    session_start();
    session_register("sesuser");
    session_register("sespass");
    $sesuser = $username;
    $sespass = $pass;
    echo "$sesuser <a href=\"login_index.php\">weiter</a>";
    }
    else
    {
    echo "Das Passwort oder der Username ist flasch!";
    }
    }
    }
    ?>

  • #2
    Probier mal sowas in der Art:

    PHP-Code:
    <?php
    if ( $username=="" || $pass=="" ) {
        echo 
    "Bitte fülle alle Felder aus!"
    } else { 
        
    $result=mysql_query("SELECT COUNT(*) FROM modul_teddy WHERE username='$username' AND pass='$pass'");
        if ( 
    $result ) {
            if ( 
    $row=mysql_fetch_array($result) && $row[0] ) {
                
    session_start(); 
                
    session_register("sesuser"); 
                
    session_register("sespass"); 
                
    $sesuser $username
                
    $sespass $pass
            } else  echo 
    "Das Passwort oder der Username ist falsch!"
            
    mysql_free_result($result);
        } else echo 
    "Das Passwort oder der Username ist falsch!"
    }
    ?>
    carpe noctem

    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

    Kommentar


    • #3
      hallo,

      erstmal danke für deine bemühungen es geht aber nicht!

      es wird jedesmal das angezeigt:

      Das Passwort oder der Username ist falsch!

      mir ist aber aufgefallen das hier überall der selbe text drinn ist:

      } else echo "Das Passwort oder der Username ist falsch!";
      mysql_free_result($result);
      } else echo "Das Passwort oder der Username ist falsch!";

      nun hab ich einfach mal einen davon geändert aber es wird immer nur die 1. meldung angezeigt!

      bitte um hilfe!

      Kommentar


      • #4
        mach mal das hier:
        $login = mysql_fetch_array($result); // ohne while
        Beantworte nie Threads mit mehr als 15 followups...
        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

        Kommentar


        • #5
          geht immernoch nicht

          Kommentar


          • #6
            LAss Dir mal das resultset ausgeben:
            $login[username]
            $login[pass], etc...
            Beantworte nie Threads mit mehr als 15 followups...
            Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

            Kommentar


            • #7
              Ich hab da auch nur _ewtwas_ geändert, aber das _muss_ so funktionieren ....

              PHP-Code:
              <? 
              include("connect.php"); 
              ### Eingabe-Checken ### 

              if(trim($username)=="" || trim($pass)=="") { 
                  echo "Bitte fülle alle Felder aus!"; 
                  } 
              else {
                  $result = mysql_query("SELECT username,pass FROM modul_teddy"); 
                      
                      while($login = mysql_fetch_array($result)) { 
                          if($login[username]==$username && $login[pass]==$pass) { 
                              session_start(); 
                              session_register("sesuser"); 
                              session_register("sespass"); 
                              $sesuser = $username; 
                              $sespass = $pass; 
                              echo "$sesuser <a href=\"login_index.php\">weiter</a>"; 
                          } 
                          else { 
                              echo "Das Passwort oder der Username ist flasch!";
                              }
                      } 
                  } 
              ?>
              Ansonsten weiss ich auch nicht weiter ....

              Kommentar


              • #8
                Ich hab da auch nur _ewtwas_ geändert, aber das _muss_ so funktionieren ....

                PHP-Code:
                <? 
                include("connect.php"); 
                ### Eingabe-Checken ### 

                if(trim($username)=="" || trim($pass)=="") { 
                    echo "Bitte fülle alle Felder aus!"; 
                    } 
                else {
                    $result = mysql_query("SELECT username,pass FROM modul_teddy"); 
                        
                        while($login = mysql_fetch_array($result)) { 
                            if($login[username]==$username && $login[pass]==$pass) { 
                                session_start(); 
                                session_register("sesuser"); 
                                session_register("sespass"); 
                                $sesuser = $username; 
                                $sespass = $pass; 
                                echo "$sesuser <a href=\"login_index.php\">weiter</a>"; 
                            } 
                            else { 
                                echo "Das Passwort oder der Username ist flasch!";
                                }
                        } 
                    } 
                ?>
                Ansonsten weiss ich auch nicht weiter ....

                Kommentar


                • #9
                  Ich hab da auch nur _ewtwas_ geändert, aber das _muss_ so funktionieren ....

                  PHP-Code:
                  <? 
                  include("connect.php"); 
                  ### Eingabe-Checken ### 

                  if(trim($username)=="" || trim($pass)=="") { 
                      echo "Bitte fülle alle Felder aus!"; 
                      } 
                  else {
                      $result = mysql_query("SELECT username,pass FROM modul_teddy"); 
                          
                          while($login = mysql_fetch_array($result)) { 
                              if($login[username]==$username && $login[pass]==$pass) { 
                                  session_start(); 
                                  session_register("sesuser"); 
                                  session_register("sespass"); 
                                  $sesuser = $username; 
                                  $sespass = $pass; 
                                  echo "$sesuser <a href=\"login_index.php\">weiter</a>"; 
                              } 
                              else { 
                                  echo "Das Passwort oder der Username ist falsch!";
                                  }
                          } 
                      } 
                  ?>
                  Ansonsten weiss ich auch nicht weiter ....

                  Kommentar


                  • #10
                    Original geschrieben von Basti77
                    Ich hab da auch nur _ewtwas_ geändert, aber das _muss_ so funktionieren ....

                    PHP-Code:
                    <? 
                    include("connect.php"); 
                    ### Eingabe-Checken ### 

                    if(trim($username)=="" || trim($pass)=="") { 
                        echo "Bitte fülle alle Felder aus!"; 
                        } 
                    else {
                        $result = mysql_query("SELECT username,pass FROM modul_teddy"); 
                            
                            while($login = mysql_fetch_array($result)) { 
                                if($login[username]==$username && $login[pass]==$pass) { 
                                    session_start(); 
                                    session_register("sesuser"); 
                                    session_register("sespass"); 
                                    $sesuser = $username; 
                                    $sespass = $pass; 
                                    echo "$sesuser <a href=\"login_index.php\">weiter</a>"; 
                                } 
                                else { 
                                    echo "Das Passwort oder der Username ist falsch!";
                                    }
                            } 
                        } 
                    ?>
                    Ansonsten weiss ich auch nicht weiter ....
                    Das ist natürlich der umständlichste und langwierigste Weg ...
                    Wenn der gesucht Benutzer nicht der Erste ist kriegste erstmal 'ne ganze Liste von 'Das Passwort oder der Username ist Falsch!' und wenn Du beim gefundenen User die Schleife nicht terminierst wird die Liste danach noch für jeden Benutzer Deiner Datenbank fortgesetzt ...
                    carpe noctem

                    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                    Kommentar


                    • #11
                      break; vergessen ....


                      Basti, *der langsam echt abgefuckt ist von der Geschwindigkeit dieser Seite*

                      Kommentar


                      • #12
                        ...
                        carpe noctem

                        [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                        [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                        Kommentar


                        • #13
                          Original geschrieben von Basti77
                          break; vergessen ....


                          Basti, *der langsam echt abgefuckt ist von der Geschwindigkeit dieser Seite*
                          Ändert aber nix daran das Du vorher für jeden Fehlerhaften Benutzer 'ne Meldung bekommst ...

                          goth, der Basti77 vollkommen verstehen kann ...
                          carpe noctem

                          [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                          [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                          Kommentar


                          • #14
                            Also bei mir funktioniert das hier tadellos. Auch ohne doppelte Ausgeben:
                            PHP-Code:
                            <?
                            ### Eingabe-Checken ### 
                            if(trim($username)=="" || trim($pass)=="") { 
                                echo "Bitte fülle alle Felder aus!"; 
                                } 
                            else {

                                $result = mysql_query("SELECT username,pass FROM modul_teddy"); 
                                    while($login = mysql_fetch_array($result)) { 
                                        if($login[name]==$username && $login[password]==$pass) { 
                                            session_start(); 
                                            session_register("sesuser"); 
                                            session_register("sespass"); 
                                            $sesuser = $username; 
                                            $sespass = $pass; 
                                            echo "$sesuser <a href=\"login_index.php\">weiter</a>"; 
                                            break;
                                        } 
                                        else { 
                                            echo "Das Passwort oder der Username ist falsch!";
                                            break;
                                            }
                                    } 
                                } 
                            ?>

                            Kommentar


                            • #15
                              Original geschrieben von Basti77
                              Also bei mir funktioniert das hier tadellos. Auch ohne doppelte Ausgeben:
                              PHP-Code:
                              <?
                              ### Eingabe-Checken ### 
                              if(trim($username)=="" || trim($pass)=="") { 
                                  echo "Bitte fülle alle Felder aus!"; 
                                  } 
                              else {

                                  $result = mysql_query("SELECT username,pass FROM modul_teddy"); 
                                      while($login = mysql_fetch_array($result)) { 
                                          if($login[name]==$username && $login[password]==$pass) { 
                                              session_start(); 
                                              session_register("sesuser"); 
                                              session_register("sespass"); 
                                              $sesuser = $username; 
                                              $sespass = $pass; 
                                              echo "$sesuser <a href=\"login_index.php\">weiter</a>"; 
                                              break;
                                          } 
                                          else { 
                                              echo "Das Passwort oder der Username ist falsch!";
                                              break;
                                              }
                                      } 
                                  } 
                              ?>
                              Aha ... auch wenn der gesuchte Benutzer der 2. in der Tabelle ist ... klar dann gibt's keine 2 Ausgaben ... allerdings dürfte die Ausgabe auch nicht korrekt sein !
                              carpe noctem

                              [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                              [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                              Kommentar

                              Lädt...
                              X