Ich verwende ein PHP-Skript, um Daten aus einer MySQL-Datenbank zu holen und zu überprüfen, ob das eingegebene Passwort mit dem in der Datenbank übereinstimmt. Wenn ja, sollte der Benutzer auf eine Site umgeleitet werden. Wenn ich es jedoch ausführe, wird es die Nachricht anzeigen, die als $ errorMessage definiert wird.PHP-Skript zum Abrufen von MySQL-Daten funktioniert nicht
Was mache ich falsch? Das Skript ist für ein Login-Formular mit Bootstrap.
Vielen Dank im Voraus!
<?php
$link = mysqli_connect("localhost","root","password") or die("Verbindung zum Server nicht möglich. Bitte kontaktiere uns.");
mysqli_select_db($link,"berufs_schule");
if(isset($_REQUEST['submit'])){
$errorMessage = "Ein Fehler ist aufgetreten.";
$email=$_POST['email'];
$password=$_POST['password'];
if ($errorMessage != "") {
echo "<p class='message'>" .$errorMessage. "</p>";
}
else{
$query = "SELECT email, password FROM members WHERE email='$email'";
while ($rows = mysqli_fetch_array($query)):
$name_db = $rows['name'];
$password_db = $rows['password'];
if(md5($password) == $password_db){
echo "<meta http-equiv='refresh' content=\"0; url=success.html\">";
} else {
echo "<p class='message'>Passwort falsch, bitte versuche es erneut!</p>";
}
endwhile;
}
}
?>
EDIT:
ich den Scheck für errormessage entfernt jetzt, und es jetzt zeigt mir nur einen leeren Bildschirm und nicht ausgibt, dass das Passwort nicht korrekt ist ("Passwort falsch, Bitte versuche es Erneut! ") oder leite mich zur success.html um. Was kann der Fehler sein?
EDIT 2: Testen Sie das Skript bei http://test.enderpixel.net/berufs.schule/login.html
Welche Art von errorMessage erhalten Sie? Bitte editieren Sie Ihre Frage mit dem Fehler –
Da Sie zuerst '$ errorMessage =" Ein Fehler ist aufgetreten. ";' Gesetzt haben, wird die eigentliche Anfrage nie ausgeführt. Dieser Teil 'if ($ errorMessage! =" ") {// ...} else {/ ...}' überspringt die Ausführung der Abfrage, wenn '$ errorMessage' gesetzt ist. – Cyclonecode
Ah ich sehe was das Problem ist. Ihre $ errorMessage ist so definiert, dass sie nie leer ist. –