我無法從我自己創建的函數attempt_login()
中獲得任何結果。任何人都可以找出任何錯誤或這段代碼有什麼問題?它僅適用於我在數據庫中創建的一個用戶。我想返回一個布爾值,之後要檢查結果是否爲真,然後將其存儲到會話中,然後將用戶重定向到特定頁面。請幫忙!
CODE:我的sql或php有什麼問題嗎? (無法登錄)
function attempt_login($theusername, $thepassword){
$host = 'localhost';
$username = 'root';
$password = '';
$database = 'website';
$con = mysqli_connect($host, $username, $password, $database);
$theusername = mysqli_real_escape_string($con, $theusername);
$thepassword = mysqli_real_escape_string($con, $thepassword);
$thepassword = md5($thepassword);
$query = "SELECT * FROM members WHERE username = '{$theusername}' AND password = '{$thepassword}'";
$result = mysqli_query($con, $query);
$row = mysqli_fetch_array($result);
return isset($row['name']);
mysqli_close($con);
}
截屏:
md5不是加密密碼的好方法。如果你有PHP 5.5查看'password_hash'函數。 – andrewtweber
快速注意,'mysqli_close($ con);'永遠不會被達到,因爲它之前有一個無條件的'return'。 –
'var_dump($ row)'並且看看給了你什麼。 –