我有一个用简单的形式访问的PHP登录脚本:PHP登录脚本不给预期的结果,或任何
<?php
session_start();
try{
$user = 'root';
$pass = null;
$pdo = new PDO('mysql:host=localhost; dbname=divebay;', $user, $pass);
if(isset($_SESSION['loggedin'])){
echo "1"; //already logged in
}
else{
$username = $_POST['username'];
$password = sha1($_POST['password']);
$ucheck = $pdo->prepare('SELECT * FROM user WHERE username = ?');
$ucheck->bindValue(1, $username);
$ucheck->execute();
if($ucheck->fetch(PDO::FETCH_OBJ)){
$stmt = $pdo->prepare('SELECT * FROM user WHERE username = ? AND password = ?');
$stmt->bindValue(1, $username);
$stmt->bindValue(2, $password);
if($stmt->fetch(PDO::FETCH_OBJ)){
$row = $stmt->fetch(PDO::FETCH_ASSOC);
$_SESSION['username'] = $row['username'];
$_SESSION['loggedin'] = 'YES';
$_SESSION['location'] = $row['location'];
echo "2"; //logged in
}
else{
echo "3"; //password incorrect
}
}
else{
echo "4"; //user does not exist
}
}
}catch(PDOException $e){
echo $e->getMessage();
}
?>
,但是当我尝试使用我刚刚创建的帐户来运行它,并有证实存在于数据库中,我没有从这个脚本得到任何回应。我希望它回声2鉴于登录信息是正确的,但我什么也没得到
任何人都可以提出什么ive做错了吗?
你可以把'error_reporting(E_ALL); ini_set(“display_errors”,1);'在脚本的顶部,看看它是否显示任何东西? – bretterer
我会把我的钱放在'$ pdo'为false或null而不是对象:) –