在sqlsrv / php登录脚本上对用户进行身份验证时,我非常确定我尝试的用户确实存在于数据库中但是找不到用户的消息。这是我的2脚本,用于验证用户的登录信息。
[login.html的]
<html>
<head>
</head>
<body>
<form name="log" action="log_action.php" method="post">
Username: <input class="form" type="text" name="uName"><br />
Password: <input class="form" type="password" name="uPass"><br />
<input name="submit" type="submit" value="Submit">
</form>
</body>
</html>
[log_action.php]
<?php
session_start();
ini_set('display_errors', 1);
error_reporting(~0);
include 'connect.php';
$uN = $_POST['uName'];
$uP = $_POST['uPass'];
$sql = "SELECT * FROM Person.lgn WHERE user_name = '".$uN."'";
$resultpwd = $conn->query($sql);
$rowpwd = $resultpwd->fetch(PDO::FETCH_ASSOC);
$hash_pwd = $rowpwd['user_pass'];
$hash = password_verify($uP,$hash_pwd);
if ($hash == 0){
echo 'ERROR LOGIN';
}else{
$query = "SELECT * FROM Person.lgn WHERE user_name = '".$uN."' AND user_pass = '".$hash_pwd."' ";
$result = $conn->query($query);
}
if(sqlsrv_has_rows($result) != 1){
echo "</br>";
echo "User not found or password is not correct";
}else{
while ($row = $result->fetch(PDO::FETCH_ASSOC)){
echo $row['user_name'];
echo "</br>";
echo $row['user_pass'];
}
header("Location: list.php");
}
?>
EDITED 但是它既没有工作也没有错误!
This page isn’t working
pacificosrv is currently unable to handle this request.
HTTP ERROR 500
答案 0 :(得分:0)
好的,找到了一种方法,非常基本,但无法看到它的逻辑,我遇到了问题但对我的演示文稿来说并不重要失败我收到了BLANK
页而不是&#34; 身份验证失败&#34;消息。
[<强> EDITED 强>
<?php
session_start();
ini_set('display_errors', 1);
error_reporting(~0);
include 'connect.php';
$uNa = $_POST['uName'];
$uPa = $_POST['uPass'];
if(empty($uNa) OR empty($uPa)){
echo "Fill all the fields!";
}else{
$query = "SELECT * FROM Person.users WHERE user_name = :name AND user_pass = :pw";
$result = $conn->prepare($query);
$result->execute([':name' => $uNa, ':pw' => $uPa]);
while ($row = $result->fetch(PDO::FETCH_ASSOC)){
echo $row['user_id'];
echo '</br>';
echo $row['user_name'];
echo '</br>';
echo $row['user_pass'];
if($row['user_name'] === $uNa AND $row['user_pass'] === $uPa){
$uid = $row['user_name'];
$_SESSION[valid_user] = $uid;
header("Location: list.php");
}else{
echo 'Authentication failed';
}
}
}
?>