2013-11-21 95 views
0

所以我一直在试图做的是建立一个登录系统。我有系统工作,但我需要添加菜单按钮。出于某种奇怪的原因,这破坏了它......所有的菜单都是简单的“是会话值1吗?”题。登录脚本不工作(重定向)

这里的login.php中的主要代码:

<?php 
    session_start(); 
    $errmsg=''; 
    if($_POST['email']&&$_POST['password']){ 
     $_SESSION['email']=$_POST['email']; 
     $_SESSION['password']=$_POST['password']; 
     header("Location: validate.php"); 
    } 
    if($_SESSION['vcode']){ 
     $code=$_SESSION['$vcode']; 
     if($code==4){ 
      $errmsg="Invalid login details. Please try again."; 
     }else{ 
      $errmsg=''; 
     } 
     $_SESSION['vcode']==0; 
    } 
?> 

然后,它重定向到validate.php。

<?php 
    session_start(); 
    include '/home/raymonf2/mysqlincludeprs.php'; 
    $email=$_SESSION['email']; 
    $pw=hash('ripemd160', $_SESSION['password']); 
    $status=0; // Original value is 0; not validated (yet?) 
    $sql = 'SELECT * FROM users WHERE username = \'' . $email . '\' AND password = \'' . $pw . '\';'; 

    if(!$result = $db->query($sql)){ 
     die('There was an error running the query [' . $db->error . ']. Sorry!'); 
    } 
    while($row = $result->fetch_assoc()){ 
      if($result->num_rows>0){ 
       $status==1; 
      } 
    } 

    if($status==1){ 
    // Back to homepage if okay. 
     unset($_SESSION['email']); 
     unset($_SESSION['password']); 
     $_SESSION['loggedin']==1; 
     header("Location: /index.php"); 
     die("<a href=\"/\">Click here if not automatically redirected to index.</a>"); 
    }else{ 
     $_SESSION['loggedin']==0; 
     $_SESSION['vcode']==4; 
     header("Location: login.php"); 
    } 
?> 

任何建议,将不胜感激。

问题是,登录页面指示验证,然后返回登录而没有错误消息。

回答

3
if($result->num_rows>0){ 
      $status==1;//should be $status = 1; 
     } 

也许你不需要while部分。

+0

Bah,我很蠢。 :) 它的作品,@ ohmygirl。非常感谢! 粗心的错误是粗心的。 :/ – Raymonf