2013-11-21 138 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