登录代码出错了

时间:2015-10-08 11:33:18

标签: php mysql pdo login

我遇到登录问题,下面是登录代码。当我提交登录信息时它显示不正确的信息,我在代码中的某个地方出错了,无法解决它。我使用了password_hash()函数,检查了我的数据库并且运行良好。肯定是登录代码有些不对劲。现在我尝试echo $pass_db并提交信息,我看到密码已正确回显,但也显示不正确的信息,我没有被重定向到main.php

login.php

<?php
if(isset($_POST['login'])){ 
$username = $_POST['user_login'];
$password = $_POST['password_login'];

$stmt = $db->prepare("SELECT * FROM userss WHERE username = :username AND password = :password");
$stmt->execute(array(':username'=>$username,':password'=>$password));
$row = $stmt->fetch(PDO::FETCH_ASSOC);

$user_db = $row['username'];
$pass_db = $row['password'];

if(password_verify($password, $pass_db))  {  
$_SESSION['username']=$username;
if (isset($_POST['rememberme'])) {
  setcookie('username', $username,time()+31556926);
 }
   header("Location:main.php");

 }
 else {
 echo "Incorrect Information!";
 }
 }
 ?>

注册码

$pswd = password_hash($pswd, PASSWORD_DEFAULT);
$pswd2 = password_hash($pswd2, PASSWORD_DEFAULT);
$stmt = $db->prepare("INSERT INTO userss (username,first_name,last_name,email,password,password2) VALUES (:username,:first_name,:last_name,:email,:password,:password2,)");  
$stmt->execute( array(':username'=>$un,':first_name'=>$fn,':last_name'=>$ln,':email'=>$em,':password'=>$pswd,':password2'=>$pswd2));

if ($stmt->rowCount() == 1) {
header("Location: login.php");
} 
else {
echo "error";
}

0 个答案:

没有答案