Pdo身份验证

时间:2013-12-19 09:23:41

标签: php authentication pdo

我已经写了我的PDO身份验证,这是完整的,我到目前为止并测试它我调试了它,并没有成功找到问题。
此代码应该返回无效数据,除非在这种情况下它不会进入空白页面。

<?php
error_reporting(E_ALL);
require('.class/class_pdo.php');

$query = $db->prepare('SELECT player_login_name, player_login_pass FROM members
    WHERE player_login_name = :name AND player_login_pass = :pass');
$db->connect;
$query->bindParam(':name', $name, PDO::PARAM_STR);
$query->bindParam(':pass', $pass, PDO::PARAM_STR);

$name = (isset($_POST['name']) && !empty($_POST['name'])) ? htmlspecialchars($_POST['name']) : '';
$pass = (isset($_POST['pass']) && !empty($_POST['pass'])) ? password_verify($_POST['pass']) : '';

if($query->fetchColumn() == 0) {
    echo "Invalid data";
} else {
    header("location:'welcome.php'");
}
$query->execute();
?>

任何想法都会很好,谢谢你?

1 个答案:

答案 0 :(得分:0)

首先,你有错误

password_verify($_POST['pass'])

password_verify()需要2个参数,但您只传递一个参数。它缺少应该与之比较的哈希