仅当我输入数据库中不存在的错误电子邮件时,才会出现此错误:
<块引用>注意:尝试获取非对象的属性“email” C:\path\UsersCONtroller.php 第 10 行
但是只要密码错误并且电子邮件存在于数据库中,它就可以工作!
控制器:
<?php
class UsersController{
public function auth(){
if(isset($_POST["submit"])){
$data["email"] = $_POST["email"];
$result = User::login($data);
if($_POST["email"]===$result->email && password_verify($_POST["password"],$result->password)){
$_SESSION["logged"] = true;
$_SESSION["email"] = $result->email;
$_SESSION["fullname"] = $result->fullname;
$_SESSION["admin"] = $result->admin;
Redirect::to("home");
}
else{
Session::set("error","Wrong email or password");
Redirect::to("sign");
}
}
}
}
?>
型号:
<?php
class User{
static public function login($data){
$email = $data["email"];
try {
$query = "SELECT * FROM users WHERE email = :email";
$stmt = DB::connect()->prepare($query);
$stmt->execute(array(":email"=>$email));
$user = $stmt->fetch(PDO::FETCH_OBJ);
return $user;
} catch (PDOException $ex) {
echo "error : ".$ex.getMessage();
}
}
}
?>
谢谢!
答案 0 :(得分:0)
试试
if($result && $_POST["e...
结果为空时排除