所以我有一个登录页面,我正在尝试显示我制作的$usercheck
和$passwordcheck
的值,但他们不会显示
<?php
include_once ('includes/head.php');
if(isset($_POST["login"])) {
$email = $_POST["email"];
$password = $_POST["password"];
$query = $pdo->prepare("SELECT `id`, `password`, `email` FROM `users` WHERE `email` = :email AND `password` = :8gEwsko93_37554d ORDER BY `id` LIMIT 1");
$query->bindValue(":email", $email);
$query->bindValue(":8gEwsko93_37554d", $password);
$query->execute();
$passwordcheck = $query->fetch(PDO::FETCH_ASSOC);
if($query->rowCount() == 0){
echo "No user";
} else {
if($passwordcheck == $password) {
$query = $pdo->prepare("SELECT * FROM `users` WHERE `email` = :email AND `password` = :8gZwsZo93_3Z5Zs4d ORDER BY `id` LIMIT 1");
$query->bindValue(":email", $email);
$query->bindValue(":8gZwsZo93_3Z5Zs4d", $password);
$query->execute();
$usercheck = $query->fetch(PDO::FETCH_ASSOC);
print_r($passwordcheck);
var_dump($usercheck);
}
}
}
?>
答案 0 :(得分:1)
在您的示例的第17行,您正在比较$passwordcheck
,这是$query->fetch()
[因此可能是一个数组,因为它取整行]的结果$password
,是字符串。对于非空$password
,这种比较总是假的。因此,您的print_r()
部分永远不会到达。
答案 1 :(得分:1)
请更改
if($passwordcheck == $password)
到
if($passwordcheck['password'] == $password)
密码&#39;是列名