Mysql 仅登录第一个用户错误
Iam使用PHP5.5和pdo创建登录代码。代码运行良好,但唯一的第一个用户登录我不知道为什么?例如,我的数据库表中有5个用户。当我登录第一个时,它会转到LogeIn,但当我尝试登录第二个或第三个时,它会显示一条错误消息,我设置的数据登录不正确。下面是我的登录码Mysql 仅登录第一个用户错误,mysql,pdo,php-5.5,Mysql,Pdo,Php 5.5,Iam使用PHP5.5和pdo创建登录代码。代码运行良好,但唯一的第一个用户登录我不知道为什么?例如,我的数据库表中有5个用户。当我登录第一个时,它会转到LogeIn,但当我尝试登录第二个或第三个时,它会显示一条错误消息,我设置的数据登录不正确。下面是我的登录码 <?php session_start(); include 'conn.php'; try { $user = $_POST['user']; $pass = $_POST['pass']; $remem
<?php
session_start();
include 'conn.php';
try
{
$user = $_POST['user'];
$pass = $_POST['pass'];
$remember=$_POST['remember'];
$smt=$conn->prepare("SELECT * FROM signup");
$smt->execute();
$result=$smt->fetch(PDO::FETCH_OBJ);
$prev=$result->Password;
$usr=$result->Username;
if(password_verify($pass,$prev)& $user===$usr)
{
// Set username session variable
$_SESSION['user'] = $user;
// Jump to secured page
header('location:index.php');
}
else
{
header('location:signin.php');
$_SESSION['login']="Incorrect username or password";
}
if($remember)
{
setcookie('remember-me',$user,time()+3600000);
setcookie('remember-pass',$pass,time()+3600000);
header('location:index.php');
}
else
{
setcookie('remember-me',$user,false);
setcookie('remember-pass',$pass,false);
}
}
catch(PDOException $e)
{
throw new PDOException($e);
}
?>
提前感谢…您缺少一个
WHERE子句
:
SELECT * FROM signup WHERE Username = :user
将代码调整为以下值:
$smt=$conn->prepare("SELECT * FROM signup WHERE Username =:user");
$smt->execute(array(':user'=>$user));
请用下面的代码更新您的代码
<?php
session_start();
include 'conn.php';
try
{
$user = $_POST['user'];
$pass = $_POST['pass'];
$remember=$_POST['remember'];
$smt=$conn->prepare("SELECT * FROM signup WHERE username = '".$user."' AND password = '".$pass."' ");
$smt->execute();
$result=$smt->fetch(PDO::FETCH_OBJ);
$prev=$result->Password;
$usr=$result->Username;
if(password_verify($pass,$prev)& $user===$usr)
{
// Set username session variable
$_SESSION['user'] = $user;
// Jump to secured page
header('location:index.php');
}
else
{
header('location:signin.php');
$_SESSION['login']="Incorrect username or password";
}
if($remember)
{
setcookie('remember-me',$user,time()+3600000);
setcookie('remember-pass',$pass,time()+3600000);
header('location:index.php');
}
else
{
setcookie('remember-me',$user,false);
setcookie('remember-pass',$pass,false);
}
}
catch(PDOException $e)
{
throw new PDOException($e);
}
?>