[英]php/html5 login authentication
我正在嘗試在MYsql數據庫中驗證用戶。 我嘗試了很多教程,每次都失敗了。 我正在粘貼下面的代碼,我現在不關心安全性或sql注入。 我只是想讓它工作,所以我可以繼續我的下一個要求。 如果有人有任何鏈接到GOOD php / html5登錄認證教程,那么請分享。 我很容易就能創建一個注冊表單,但是這個登錄表單確實給了我很多困難。
$id =$_POST['Id'];
$password =$_POST['password'];
$accessdb = "SELECT * from UserData where Id ='$id' and password ='$password";
$authenticate = mysqli_query($conn, $accessdb);
if (mysqli_num_rows($authenticate) == 1) {
session_start();
$_SESSION['auth'] = 'true';
header('location: Profile.php');
}
else {
echo "Wrong log-in credentials";
}
首先, session_start()
應該是頁面上的第一件事,應該在您希望用戶通過身份驗證的所有頁面上進行訪問。
然后,您需要更正您的查詢$accessdb
如下所示:
$accessdb = "SELECT * FROM userdata WHERE id = {$id} AND password ='{$password}'";
注意 :不確定$id
是否為數字。 如果不是,請執行: '{$id}'
而不是{$id}
。
$password =$_POST['password'];
$user = "SELECT * FROM UserData WHERE Id ='$id'";
$authenticate = $conn->query($user);
$row = $authenticate->fetch_assoc();
$hash_password = $row['password'];
$hash = password_verify($password, $hash_password);
if ($hash ==0) {
echo "Something went wrong!!";
header('Location: LogIn.php');
exit();
}
else {
`enter code here`$accessdb = "SELECT * FROM UserData WHERE Id ='$id'
AND password = '$hash_password'";
$authenticate = $conn->query($accessdb);
if (!$row = $authenticate->fetch_assoc()) {
echo "Your username is incorrect, Re-enter CREDENTIALS";
}
else {
$_SESSION['id'] = $id;
header('Location: Profile.php');
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.