Hey,
ich habe ein Login System ohne Passwort Verschlüsselung gehabt und habe dies umgeschrieben.
Leider habe ich was falsch gemacht mit der MD5 Verschlüsselung und hoffe auf eure Hilfe.
Diese Stellen habe ich verändert.
PHP
if(!defined('ACCESS')) header('Location: index.php');
if($this->isLoggedIn()) {
header('Location: index.php?p=account');
}
if(isset($this->request['login'])) {
if(isset($this->request['Spielername'], $this->request['Password'])) {
$username = $this->request['username'];
$password = $this->request['password'];
$password = md5($password);
$stmt = $this->pdo->prepare('SELECT `Spielername`, `Password` FROM `users` WHERE `Spielername` = :username AND `password` = :password LIMIT 1');
$stmt->execute(array(
':username' => $username,
':password' => $password
));
if($stmt->rowCount()) {
$obj = $stmt->fetch(PDO::FETCH_OBJ);
$_SESSION['USERNAME'] = $obj->Spielername;
$_SESSION['PASSWORD'] = $obj->Password;
$timestamp = time();
$datum = date("d.m.Y - H:i", $timestamp);
$ip = $_SERVER["REMOTE_ADDR"];
$host = gethostbyaddr($ip);
$stmt = $this->pdo->prepare('UPDATE `users` SET `Lastlogin` = :datum WHERE `Spielersername` = :username');
$stmt->execute(array(
':datum' => $datum,
':username' => $username
));
$stmt = $this->pdo->prepare('SELECT `Admin`,`Reason`,`Date` FROM `bans` WHERE `Spielername` = :username LIMIT 1');
$stmt->execute(array(
':username' => $username
));
if($stmt->rowCount()) {
$obj = $stmt->fetch(PDO::FETCH_OBJ);
$error = "Dein Account wurde von $obj->Admin am $obj->Date gesperrt. Grund: $obj->Reason.";
} else {
$stmt = $this->pdo->prepare('INSERT INTO `lastlogins`(`Name`, `Date`, `Ip`, `Useragent`) VALUES (:username,:datum,:ip,:host)');
$stmt->execute(array(
':username' => $username,
':datum' => $datum,
':ip' => $ip,
':host' => $host
));
header('Location: index.php?p=account');
}
} else {
$error = 'Falsche Zugangsdaten.';
}
}
}
Alles anzeigen
Er aktuallisiert die Seite leider nur. Leider weiß ich nicht woran das liegt.
Ich hfofe ihr könnt helfen