Hey, ich bin als Schüler gerade mit einem Partner dabei, an einem Projekt für den Informatikunterricht zu arbeiten. Aktuell arbeiten wir daran, dass man sich als Benutzer auf der Webseite anmelden kann.
Das Registrieren funktioniert bereits und als Vorlage diente uns dazu dieses Video:
https://www.youtube.com/watch?v=bNwT7pqVzDc
Nun sind in der Datenbank sowohl Benutzername als auch Passwort eingetragen. Als Benutzer soll man sich nun anmelden können und dann auf home.php weitergeleitet werden. Als Vorlage zum Anmelden verwendeten wir dieses Video:
https://www.youtube.com/watch?v=HrLucaAHLm8
Das Problem:
Wenn man versucht, sich auf der Webseite anzumelden, erscheint die Meldung "Passwort stimmt nicht ueberein", obwohl es übereinstimmen sollte. Hier ist der Quelltext:
<?php
require("connection.php");
if(isset($_POST["submit"])){
$Benutzername = $_POST["Benutzername"];
$Passwort = $_POST["Passwort"];
$stmt = $con->prepare("SELECT * FROM Angestellten_Benutzer WHERE Benutzername=:Benutzername");
$stmt->bindParam(":Benutzername", $Benutzername);
$stmt->execute();
$userExists = $stmt->fetchAll();
$passwordHashed = $userExists[0]["Passwort"];
$checkPassword = password_verify($Passwort, $passwordHashed);
if($checkPassword === false){
echo "Passwort stimmt nicht ueberein";
}
if($checkPassword === true){
session_start();
$_SESSION["Benutzername"] = $userExists[0]["Benutzername"];
header("Location: home.php");
}
}
?>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Anmelden</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<form action="pp.php" method="POST">
<h1>Anmelden</h1>
<div class="inputs_container">
<input type="text" placeholder="Benutzername" name="Benutzername" autocomplete="off">
<input type="password" placeholder="Passwort" name="Passwort" autocomplete="off">
</div>
<button name="submit">Anmelden</button>
</form>
</body>
</html>
Ich würde mich sehr über eine Korrektur dieses Codes freuen. Der Validator sowie die KI scheinen keine Lösung für das Problem zu haben und keine Probleme zu erkennen. Danke!