2016-12-07 84 views
0

所以我有一个名为index.php的登录页面,页面似乎没有重定向到home.php页面。 我试图登录使用所有正确的用户细节,但它的index.php页面上停留的剧照,它也会清零如何解决登录页面,而不是重定向

我通过我的代码看起来领域的数据和我似乎无法找到问题

   <?php 
      require_once'Dbconfig.php'; 


      function login($umail, $upass) 
      { 
       $stmt = $dbh->prepare("SELECT * FROM users WHERE 
        emailAddress=:umail AND userPass=:upass"); 
       $stmt->execute(array(':umail'=>$umail, ':upass'=>$upass)); 
       $userRow=$stmt->fetch(PDO::FECTH_ASSOC); 

       if($stmt->rowCount() ==1) 
        { 
         $hashed = $this->get_user_hash($upass); 

         if($this->password_verify($upass, $hashed) == 1) 
         { 
          $_SESSION['user_session'] = 
           $userRow['emailAddress']; 
           return true; 
         } 
         else 
         { 
          return false; 
         } 
        } 
       } 

      if(isset($_POST['btn_login'])) 
      { 
       $umail    = $_POST['txt_umail']; 
       $upass   = $_POST['txt_upass']; 

        if($user->login($umail, $upass)) 
        { 
         header('Location: home.php'); 
         exit; 
       } 
       else 
       { 
        $error[] = 'Wrong email or password!'; 
       } 

      } 


     ?> 
+0

你为什么选择密码,如果您在下面进行验证。?? – VishalParkash

+0

我应该再删除我验证的部分@VishalParkash – Destiny

+0

检查我的答案.. – VishalParkash

回答

0

您可以尝试使用其他条件

<?php 
require_once'Dbconfig.php'; 
function login($umail, $upass){ 
    $stmt = $dbh->prepare("SELECT * FROM users WHERE emailAddress=:umail"); 
    $stmt->bindValue(":umail", $umail); 
    $stmt->execute(); 
    $userRow = $stmt->fetchAll(); 
    if($stmt->num_rows ==1){ 
     $hashed = $this->get_user_hash($upass); 
     if($this->password_verify($upass, $hashed)){ 
      $_SESSION['user_session'] = $userRow['emailAddress']; 
      return true; 
      }else{ 
       return false; 
     } 
    } 
} 
?> 
+0

哦..我输了2分.. :(那些都是辛苦赚分的你downvoter .. – VishalParkash

+0

我试过了,但它仍然不重定向@VishalParkash – Destiny

+0

我没有投下任何东西 – Destiny