我有一个使用PDO的登录系统.....我有一个名为User的类,具有登录功能
类:用户
require_once('db.php');
class USER
{
private $connection;
public function __construct()
{
$database = new Database();
$db = $database->dbConnection();
$this->connection = $db;
}
public function runQuery($sql)
{
$stmt = $this->conn->prepare($sql);
return $stmt;
}
public function doLogin($email,$password)
{
try
{
$stmt = $this->connection->prepare("SELECT email, password FROM users WHERE email=:email AND password=:password ");
$stmt->execute(array(':email'=>$email, ':password'=>$password));
$userRow=$stmt->fetch(PDO::FETCH_ASSOC);
if($stmt->rowCount() == 1)
{
if(password_verify($password, $userRow['password']))
{
$_SESSION['user_session'] = $userRow['email'];
return true;
}
else
{
return false;
}
}
}
catch(PDOException $e)
{
echo $e->getMessage();
}
}
public function is_loggedin()
{
if(isset($_SESSION['user_session']))
{
return true;
}
}
public function redirect($url)
{
header("Location: $url");
}
public function doLogout()
{
session_destroy();
unset($_SESSION['user_session']);
return true;
}
}
?>
登录页面
<?php
session_start();
require_once("loginsubmit.php");
$login = new USER();
if($login->is_loggedin()!="")
{
$login->redirect('home.html');
}
if(isset($_POST['submit']))
{
$email = strip_tags($_POST['email']);
$password = strip_tags($_POST['password']);
if($login->doLogin($email,$password))
{
$login->redirect('userprofile.php');
}
else
{
$error = "Wrong Details !";
}
}
?>
即使细节正确,我仍然会收到此错误
SQLSTATE [HY093]:参数号无效:绑定变量数与令牌数不匹配
有人可以帮帮我吗?请注意我是Php的新手,特别是OOP和PDO。