Mein Login-Formular sagt immer, dass die Zugangsdaten falsch sind. Das Formular funktionierte, bevor ich es änderte, um entweder Benutzername oder E-Mail zu verwenden. Ich bin mir nicht sicher, was mit meinem Code falsch ist. Ich bin immer noch neu in PHP und MySQL so einfach mit mir.Mein Login-Formular sagt immer, dass die Anmeldedaten falsch sind
/**************** Benutzeranmeldung Funktionen ********************/
function login_user($email, $username, $password, $remember) {
$sql = "SELECT password, id FROM users WHERE email = '".escape($email)." || username = ".escape($username)."' AND active = 1";
$result = query($sql);
if(row_count($result) == 1) {
$row = fetch_array($result);
$db_password = $row['password'];
if(md5($password) === $db_password) {
if($remember == "on") {
setcookie('email', $email, time() + 86400);
}
$_SESSION['email'] = $email;
$_SESSION['username'] = $username;
return true;
} else {
return false;
}
return true;
} else {
return false;
}
} // end of function
/**************** in Funktion angemeldet ********************/
function logged_in(){
if(isset($_SESSION['email']) || isset($_COOKIE['email'])){
return true;
} else {
return false;
}
}
ich bin nicht sicher, ob jemand kann mir diese
sortieren helfen
Verwenden Sie nicht md5, verwenden Sie etwas anderes. md5 ist einfach ** one way ** –
Sie sind weit offen für SQL-Injektion. Ich bin mir nicht sicher, ob Sie PDO oder Mysqli verwenden, aber Ihre Eingaben sind NICHT sicher. Sehen Sie nach, wie Sie Ihre Anfragen mit [PDO] (https://secure.php.net/manual/en/pdo.prepared-statements.php) und [mysqli] (http://php.net/manual/) sichern können. de/mysqli.quickstart.prepared-statements.php). Dies wird auch eine ganze Reihe von Angebotsproblemen beseitigen. – aynber
Abdulla: MD5 sollte nicht verwendet werden - aber nicht weil es ein Einweg-Hash ist - weil es viel zu einfach (schnell) zu berechnen ist. OP: Sie sollten das beheben und anfangen, vorbereitete/parametrisierte Abfragen zu verwenden, weil Leute Sie nur dazu nörgeln werden, bevor Sie irgendetwas antworten (wie sie sollten) – JimL