Seid gegrüßt PHP-Freunde,
ich versuche mich momentan mal wieder etwas am programmieren. Ich habe einen Login & Register openSource code aus dem Internet geladen und benutze den.
Nun steh ich vor folgendem Problem:
Ich habe eine mySQL db mit Benutzer daten. Dort ist ein Benutzer gespeichert. Wenn ich nun versuche mit diesem einzuloggen, wird der code zwar ausgeführt, aber ich werde nicht auf die index.html zurückgeleitet. Woran könnte das liegen? Ich weiß, dass der code ausgeführt wird, weil ich vorher immer den fehler bekommen habe: 'Wrong username or password or your account has not been activated.' ; habe daraufhin einfach in der db die value activated auf 'Yes'
gestellt und dadurch is der error verschwunden. Die seite scheint auch zu laden aber ich werde eben nicht auf die index.html zurückgeleitet.
Hier ist der php code von login.php :
Und das ist die function login der Klasse user:
Die function get_user_hash sollte es auch nicht sein, da diese eine Fehlermeldung anzeigen würde bei einem Error.
Habt ihr irgendwelche Ideen dazu? Würde mich freuen falls ihr mir helfen könntet!
Gruß
ich versuche mich momentan mal wieder etwas am programmieren. Ich habe einen Login & Register openSource code aus dem Internet geladen und benutze den.
Nun steh ich vor folgendem Problem:
Ich habe eine mySQL db mit Benutzer daten. Dort ist ein Benutzer gespeichert. Wenn ich nun versuche mit diesem einzuloggen, wird der code zwar ausgeführt, aber ich werde nicht auf die index.html zurückgeleitet. Woran könnte das liegen? Ich weiß, dass der code ausgeführt wird, weil ich vorher immer den fehler bekommen habe: 'Wrong username or password or your account has not been activated.' ; habe daraufhin einfach in der db die value activated auf 'Yes'
gestellt und dadurch is der error verschwunden. Die seite scheint auch zu laden aber ich werde eben nicht auf die index.html zurückgeleitet.
Hier ist der php code von login.php :
PHP-Code:
<?php
//include config
require_once('includes/config.php');
//check if already logged in move to home page
if( $user->is_logged_in() ){ header('Location: index.php'); exit(); }
//process login form if submitted
if(isset($_POST['submit'])){
if (!isset($_POST['username'])) $error[] = "Please fill out all fields";
if (!isset($_POST['password'])) $error[] = "Please fill out all fields";
$username = $_POST['username'];
if ( $user->isValidUsername($username)){
if (!isset($_POST['password'])){
$error[] = 'A password must be entered';
}
$password = $_POST['password'];
if($user->login($username,$password)){
$_SESSION['username'] = $username;
header('Location: index.html');
exit;
} else {
$error[] = 'Wrong username or password or your account has not been activated.';
}
}else{
$error[] = 'Usernames are required to be Alphanumeric, and between 3-16 characters long';
}
}//end if submit
?>
PHP-Code:
public function login($username,$password){
if (!$this->isValidUsername($username)) return false;
if (strlen($password) < 3) return false;
$row = $this->get_user_hash($username);
if($this->password_verify($password,$row['password']) == 1){
$_SESSION['loggedin'] = true;
$_SESSION['username'] = $row['username'];
$_SESSION['memberID'] = $row['memberID'];
return true;
}
}
Habt ihr irgendwelche Ideen dazu? Würde mich freuen falls ihr mir helfen könntet!
Gruß
Kommentar