我正在使用PHP腳本從MySQL數據庫讀取數據,並檢查輸入的密碼是否與數據庫中的數據匹配。如果是的話,它應該將用戶重定向到一個站點。但是,當我運行它時,它會顯示消息定義爲$ errorMessage。PHP腳本讀取MySQL數據不起作用
我在做什麼錯?該腳本用於使用引導程序的登錄表單。
在此先感謝!
<?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;
}
}
?>
編輯:
我刪除了檢查的errorMessage現在,現在它只是顯示我一個空白屏幕,不輸出的密碼不正確(「Passwort falsch,BITTE versuche ES erneut! 「)或將我重定向到success.html。錯誤是什麼?
編輯2:測試在http://test.enderpixel.net/berufs.schule/login.html
你會得到什麼樣的errorMessage?請編輯您的問題,並提供錯誤 –
由於您首先設置了'$ errorMessage =「Ein Fehler ist aufgetreten。」;那麼實際的查詢將永遠不會執行。如果設置了'$ errorMessage',這部分if($ errorMessage!=「」){// ...} else {/ ...}將跳過執行查詢。 – Cyclonecode
啊,我看到了什麼問題。您的$ errorMessage被定義,所以它永遠不會是空的 –