2013-08-02 2 views
0

내 로그인 페이지의 입력이 어떤 이유로 프로세스가 올바르게 나타나지 않는 것 같습니다. 올바른 사용자 입력이 무효 (잘못된 비밀번호)로 반환되는 모습을 보였습니다. 특히 눈에 띄는 것은 아무것도 없습니다. 그러나 나는 사용자 이름이나 암호가 어떤 이유로 전달되지 않는다고 가정 할 수 있습니다. 더 많은 경험을 가진 사람이 한 번 더 생각해 볼 수 있을지, 내가 어떻게하면 좋을지 제안 할 수 있습니다. 고마워. P.S 나의 양식은 OK이므로 포함되지 않았습니다.로그인 페이지의 데이터가 손실 되었습니까?

function logcon($user, $password) 
{ 

    $user = mysqli_real_escape_string($this->conn, $user); 
    $esc_password = mysqli_real_escape_string($this->conn,$password); 
$sql = "SELECT * from USERS WHERE username ='{$user}' AND password='{$password}'"; 
$result = mysqli_query($this->conn, $sql); 


       $row = mysqli_fetch_array($result); 
      return $row; 
      } 

로그인 페이지.

if(isset($_POST['submit'])){ 

$user=$_POST['user']; 
$password=$_POST['password']; 


//To ensure that none of the fields are blank when submitting the form if 
if(isset($_POST['user']) && isset($_POST['password'])) 
    {  


$user = stripslashes($user); 
$password = stripslashes($password); 
$db1=new dbmember(); 
$db1->openDB();   
$row=$db1->logcon($user, $password); 


if($row[0]==1) 
{ 
    session_start(); 
    $_SESSION['user'] = $user; 
    $_SESSION['password'] = $password; 
    $_SESSION['loggedin'] = "true"; 
    header("location:index.php"); 
} 
     else 
     { 
      print ('<div id="error">Acess denied, wrong username or password?</div>'); 
     } 
     } 
     else 
      { 
      print ('<div id="error">Enter something!</div>'); 
     } 

} 
+1

왜 당신이 사용하지 않는이어야한다 [** 다른 계정을 **] (http://stackoverflow.com/users/2633799/downvotemeeee)? 나는 다소 이름을 좋아했다 –

+1

LuLz를 위해 여기에 haters가 downvoting 때문에. 상식을 사용하십시오. :) – user2646567

+0

수동 탈출? mysqli와 함께? 실제로 자리 표시자를 사용해야합니다. –

답변

0

검색어에 잘못된 변수 이름이 사용 된 것으로 보입니다. 또한 일반 텍스트로 저장하는 대신 해싱 및 암호 해독과 같은 일을하는 것이 좋습니다.

$sql = "SELECT * from USERS WHERE username ='{$user}' AND password='{$password}'"; 

$sql = "SELECT * from USERS WHERE username ='{$user}' AND password='{$esc_password}'"; 

해야하며, 조건부 검사는 결과의 첫 번째 필드 대신 수익이있는 경우 보는 = 1 있는지 확인하는 오프 보인다.

if($row[0]==1) 

아마

if($row) 
관련 문제