2013-11-21 2 views
0

그럼, 내가 해왔 던 것은 로그인 시스템을 설정하는 것입니다. 시스템을 작동 시켰지만 메뉴 버튼을 추가해야했습니다. 이상한 이유 때문에, 그걸 어겼습니다 ... 모든 메뉴는 간단합니다. "세션 값은 1입니까?" 문제.로그인 스크립트가 작동하지 않습니다 (리디렉션)

<?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 리디렉션 :

여기 login.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

바하마, 바보입니다. :) 그것은, @ ohmygirl 작동합니다. 정말 고마워! 부주의 한 실수는 부주의합니다. : / – Raymonf

관련 문제