我制作了一个登录表单,虽然注册表单可以正常运行,但是登录表单似乎无法正常工作。 $user
和$pwd
被声明,但是$pwd_hashed
保持为空。
if(isset($_GET['login'])) {
$user = $_POST['user'];
$pwd = $_POST['pwd'];
$stmt = $pdo->prepare("SELECT * FROM users WHERE user = :user");
$result = $stmt->execute(array('user' => $user));
$pwd_hash = $stmt->fetch();
if ($pwd_hash !== false && password_verify($pwd, $pwd_hash['password'])) {
$_SESSION['userid'] = $pwd_hash['id'];
die('Login successful<br>');
} else {
$errorMessage = "Username or password doesn't match<br>";
}
}
if(isset($errorMessage)) {
echo $errorMessage;
}
代码应该像这样工作吗,我只是在命名方面出现了问题,或者代码中有错误?
答案 0 :(得分:0)
此表单包含在另一个已选择数据库的站点中。通过删除它(;dbname=test
并指定用户数据库(users.users
),问题就解决了。