php - 无法在 MySQL 中获取登录表单的哈希密码

标签 php mysql

我制作了一个登录表单,虽然注册表单功能齐全,但登录表单似乎不起作用。 $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;
}

代码是否应该像这样工作,而我只是命名出了问题,还是代码中有错误?

最佳答案

此表单包含在另一个站点中,其中已选择数据库。通过删除它 (;dbname=test) 并指定用户数据库 (users.users),问题就消失了。

关于php - 无法在 MySQL 中获取登录表单的哈希密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55546927/

相关文章:

mysql - LIKE 模式中的逻辑运算符

php - Laravel htaccess,将特定 URL 重定向到其他文件夹

PHP 工作代码出现奇怪的问题

php - 一个 PHP 循环问题

MySQL 按某些值排序,即使表中不存在

php - Php Pdo 中的变量未定义

php - htaccess 重定向 url 到页面

php - 路由分页 Cakephp 3

MySQL Order By 2 列(日期/频率)

php - Laravel 4 & 宝塔 : [PDOException] SQLSTATE[HY000] [2002] No such file or directory