• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Fehler bei falschem Passwort

Hesoyam

Neues Mitglied
Hallo,

ich habe auf meiner Seite mal nachgeschaut, was passiert, wenn man ein zwar richtiges, aber doch falsches Passwort eingibt, also wenn das Passwort gast ist, ich aber gAsT eingebe.

Dann werde ich zur logged-Seite weitergeleitet, auf der die Auswertung erfolgt, dort erscheint dann: Erfolgreich Angemeldet.

Dann werde ich zu meiner Seite weitergeleitet und ich bin nicht angemeldet.

Das ich nicht angemeldet bin, ist ganz gut so und auch richtig, aber was falsch ist, ist, dass Erfolgreich angemeldet kommt.

Ich weiss auch, warum das kommt, aber ich möchte gerne wissen, wie ich den Code umschreiben muss, sodass kommt, dass das Passwort falsch ist
also derzeitiger Code zur ermittlung des richtigen Passworts:
PHP:
<?php
$aktion = $_POST['aktion'];
$username = $_POST['user'];
$password = $_POST['password'];
if ($aktion == "Login") {     
    if (!empty($username) && !empty($password)) {         
    include('../acp/inc/mysql2.php');         
    $query = "SELECT username, password FROM userlist WHERE username = '$username'";
    $sql = mysql_query($query) 
         or die(mysql_error());
    if (mysql_num_rows($sql) == 1) {             
         $ds = mysql_fetch_object($sql)
         if ($ds->password == $password) {
         $inhalt = "$username";
         @setcookie("---",$inhalt, time()+3600,'/');
         $forward_login = true;
    }         
} else {             
    $ges_error = "<h2>Anmeldung fehlgeschlagen!</h2><h3>Kombination aus Benutzername und Passwort falsch!</h2>";         }     
} else { 
    $forward_login = false;     } 
} elseif ($aktion == "Logout") { 
    @setcookie("---",$inhalt, time()-3600,'/'); } ;

if($_COOKIE[---]) {     
    $forward_login = true; };

if (empty($username)) { 
    $user_fehler = "Leerer Benutzername"; }
}  elseif ($username !=$ds->username) { 
    $user_fehler = "Falscher Benutzername"; }

 if(empty($password)) {     
$pass_fehler = "Kein Passwort";
}  elseif ($password !=$ds->password) { 
     $pass_fehler = "Falsches Passwort"; }

?>

ich weiss, dass es an den letzten 4 Zeilen liegt, aber ich würd ja auch gern wissen, wie ich diese zeilen umschreiben muss, damit das passwort GENAU geprüft wird.

Grüsse
 
Hi!
Du solltest dir mal grundlegend Gedanken zu deiner if-Struktur machen? Ich entdecke dahinter nämlich keinen Sinn...

Versuche das ganze zu ordnen:
PHP:
switch ($aktion) {
    case 'Login':
       if (empty($password OR empty($user)) {
           // Fehlermeldung
           break;
       }
       // Hole Daten aus Datenbank
       $query = "SELECT username
                 FROM userlist
                 WHERE username = '".mysql_real_escape_string($user)."'
                       AND password = '".mysql_real_escape_string($password)."';";
       $result = mysql_query($query) OR die(mysql_error());
      
       if (count($result) > 0) {
           // erfolgreich eingeloggt
        } else {
            // falsche Logindaten
        }
       break;
   case 'Logout':
       // Logout
       break;
    default:
        // keine Aktion vorhanden!
}

LG nif7
 
ah ... ja ... jetzt fällt mir wieder ein, dass ich die ganzen if-ese-Schleifen die länger alsj 3 sind durch switch-case schleifen tauschen wollte

Danke ...
das wichtigtese für mich war
mysql_real_escape_string($user)


Grüssse
und Danke nochmals ^^
 
Hallo ,

da stand auch
PHP:
elseif
das geht nicht gut






PHP:
<?php
$aktion = $_POST['aktion'];
$username = $_POST['user'];
$password = $_POST['password'];
if ($aktion == "Login") {     
    if (!empty($username) && !empty($password)) {         
    include('../acp/inc/mysql2.php');         
    $query = "SELECT username, password FROM userlist WHERE username = '$username'";
    $sql = mysql_query($query) 
         or die(mysql_error());
    if (mysql_num_rows($sql) == 1) {             
         $ds = mysql_fetch_object($sql)
         if ($ds->password == $password) {
         $inhalt = "$username";
         @setcookie("---",$inhalt, time()+3600,'/');
         $forward_login = true;
    }         
} else {             
    $ges_error = "<h2>Anmeldung fehlgeschlagen!</h2><h3>Kombination aus Benutzername und Passwort falsch!</h2>";         }     
} else { 
    $forward_login = false;     } 
} elseif ($aktion == "Logout") { 
    @setcookie("---",$inhalt, time()-3600,'/'); } ;

if($_COOKIE[---]) {     
    $forward_login = true; };

if (empty($username)) { 
    $user_fehler = "Leerer Benutzername"; }
}  else if ($username !=$ds->username) { 
    $user_fehler = "Falscher Benutzername"; }

if(empty($password)) {     
$pass_fehler = "Kein Passwort";
}  elseif ($password !=$ds->password) { 
     $pass_fehler = "Falsches Passwort"; }

?>
 
Zurück
Oben