我試圖用PHP和mysqli創建簡單的登錄表單,但它不起作用。 到目前爲止,我創建了成功發送數據到數據庫的註冊表單,我還使用sha1加密了密碼。 當我嘗試訪問我以前使用下面附加的代碼存儲的用戶名和密碼時,問題就開始了。 無論我提交它顯示爲:錯誤的用戶名或密碼。 任何人都可以幫助我嗎?我已經花了3天時間,並且仍然無法弄清楚如何使它工作。簡單登錄表單的問題 - PHP
<?php
include_once ('includes/connection.php');
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Login Form</title>
</head>
<body>
<?php
if(isset($_POST['submit_login'])) {
$username = $mysqli->real_escape_string($_POST['username']);
$password = sha1($_POST['password']);
$login_query = $mysqli->query("SELECT user_username, user_password FROM sd_users WHERE user_username = '$username' AND user_password = '$password'");
$count = $login_query->num_rows;
if ($count == 1) {
echo 'You are succesfully login!';
} else {
echo 'Wrong username or password';
}
}
?>
<div class="login-form">
<h3>LOGIN</h3>
<form action="index.php" method="post">
<p>Username:
<input type="text" name="username" value=""/>
</p>
<p>Psssword:
<input type="password" name="password" value=""/>
</p>
<input type="submit" name="submit_login" value="Login"/>
</form>
</div>
</body>
</html>
確保您在註冊或登錄時正確獲取密碼值。一個空值的'sha1'仍然是sha1。嘗試調試實際查詢中使用的值並查看數據庫,查看爲什麼它們不匹配 – helion3
'$ mysqli-> query(...)或die(mysqli_error($ mysqli));' –
只需確認最初保存在數據庫中的密碼也被SHA1哈希,對不對? – Quixrick