我想寫一個代碼來檢查用戶的用戶名和密碼登錄,但它只是說,成功登錄我每次運行它:SQL代碼
<?PHP
$conn=mysql_connect('localhost','root');
if (!$conn)
die("couldn't connect" . mysql.error());
mysql_select_db('swimsafe');
if(isset($_POST['chkdbforpass']));
{
$email=$_POST['chkdbforemail'];
$pass=$_POST['chkdbforpass'];
$sql='SELECT * FROM users WHERE Emailaddress="$email" AND password="$pass" ';
$result=mysql_query($sql,$conn);
if(!$result)
die("couldn't do the query" . mysql_error());
echo("logged in successfully!");
setcookie('username',$email);
}
mysql_close();
?>
是否足夠還是我必須給你更多的信息?
加入錯誤處理,如果用戶名不存在於系統中。 –
你的代碼對於SQL注入非常脆弱。 'POST login.php?chkdbforemail ='OR用戶名='管理員'--'會讓我用不知道密碼的用戶名爲「Admin」的用戶登錄。 – h2ooooooo
這不是問題 即使我進入該頁面,它也會迴應「登錄成功!」甚至沒有輸入和提交數據 – KiaN