Hi!
Und zwar habe ich von php-einfach (Link) dieses Tutorial für eine website mit login umzusetzen.
Die Personen sind in einer Datenbank mit id name und passwort hinterlegt. Funktionieren will das ganze trotzdem nicht :/
Kann mir da bitte jmd helfen?
Hier das Formular:
Dann noch der zugehöriger php teil mit der db-verbindung:
(Ich weiss man sollte auf "select *" verzichten aber ich habe das jetzt einfach so übernommen, anders hat es auch nicht funktioniert )
die fehlermeldung wird dann über dem formular ausgegeben.
Dann die geschützte seite:
Mein Problem auf den Punkt gebracht: Ich kann eingeben was ich will: Ich bleib auf der index.php und es erscheint meine fehlermeldung......
Wäre sehr dankbar für eure Mithilfe.
Und zwar habe ich von php-einfach (Link) dieses Tutorial für eine website mit login umzusetzen.
Die Personen sind in einer Datenbank mit id name und passwort hinterlegt. Funktionieren will das ganze trotzdem nicht :/
Kann mir da bitte jmd helfen?
Hier das Formular:
HTML-Code:
<form id="login" method="post" action="index.php"> <input class="log_input" type="text" placeholder="Username" name="nickname" value=""/> <input class="log_input" type="password" placeholder="Passwort" name="pw" value=""/> <input class="log_submit" type="submit" value="Login" name="login"/> </form>
PHP-Code:
session_start();
$pdo = new PDO('mysql:host=host;dbname=user_db','user','password');
if(isset($_POST['nickname']) && isset($_POST['pw'])){
$nickname = $_POST['nickname'];
$password = $_POST['pw'];
$statement = $pdo->prepare("SELECT * from user WHERE nickname = :nickname");
$result = $statement->execute(array('nickname' => $nickname));
$user = $statement->fetch();
//pw prüfen
if($user !== false && password_verify($password,$user['password'])){
$_SESSION['userid'] = $user['id'];
header('user.php');
}
else{
$login_error = '<p style="color:white;">Username oder Passwort falsch</p>';
}
}
die fehlermeldung wird dann über dem formular ausgegeben.
Dann die geschützte seite:
PHP-Code:
session_start();
if(!isset($_SESSION['userid'])){
header('Location: index.php');
}
$user = $_SESSION['userid'];
Wäre sehr dankbar für eure Mithilfe.
Kommentar