2014-01-11 3 views
0

현재 사이트에서 작업 중이며 로그인 스크립트에서 문제가 발생했습니다.로그인 PHP 코드에서 오류가 발생했습니다.

<?php 
    include 'includes/connect.php'; 
    include 'includes/core.php'; 
?> 
<?php 
    $user = sanitizeString($_POST['username']); 
    $pass = sanitizeString($_POST['password']); 

    if($user == "" || $pass = ""){ 
     $error = "Not all fields were entered<br />"; 
    } else { 
     $query = "SELECT username,password FROM admins WHERE username='$user' AND password='$pass'"; 
     if(mysql_num_rows(queryMysql($query)) == 0){ 
      print "Wrong Username/Password <br />"; 
      print "$user"; 
      print "$pass"; 
     } else { 
      $_SESSION['user'] = $user; 
      $_SESSION['pass'] = $pass; 
      print "Successfully Logged In. Redirecting..."; 
     } 
    } 
?> 
<html> 
    <head> 
     <title> 
      Login 
     </title> 
     <link rel="stylesheet" type="text/css" href="css/stylesheet.css"> 
    </head> 

    <body> 
     <div id="mainDiv"> 
      <h2>&nbsp;&nbsp;&nbsp;Login</h2> 
      <form action="login.php" method="post"> 
       Username: <input type="text" name="username"><br> 
       Password: <input type="password" name="password"><br><br> 
       <input type="submit" name="login" value="Login"> 
      </form> 
     </div> 
    </body> 
</html> 

저는 대부분이 불완전하지만 그게 문제가 아니라는 것을 알고 있습니다. 문제는 로그인을 시도 할 때 "잘못된 사용자 이름/비밀번호"가 표시된다는 것입니다. 추가 조사에서 $ pass가 설정되지 않았다는 것을 알았습니다.

enter image description here

이 왜 $ 설정하고 표시되지 패스입니다

?

+0

'type' 값과 같은 이름으로 입력 요소의 이름을 지정하지 마십시오. 이것은 아마도 문제를 해결하지 않을 것입니다, 그냥 좋은 연습입니다. – Deryck

+0

왜 이런 짓을하지 않습니까?! 'if (trim ($ user)! = ""&& trim ($ pass)! = "") {'. 나는 또한 if 문에서 두 번째 표현은 일치가 아니라 비교임을 보여줍니다. 디버그하는 가장 좋은 방법은'var_dump' 변수를 출력하는 것입니다. – demonking

+0

if ($ user == ""|| $ pass = "") {''$ pass' =' ""'make가 그것 비교 연산자 – manta

답변

5

변경

if($user == "" || $pass = ""){ 

당신은 $ 패스를 = "설정"대신이 있다면 확인 ""한

if($user == "" || $pass == ""){ 

에.

+0

나는 이것에 대해 지난 15 분 동안 노력 해왔다. * Facepalm * 고맙습니다. –

+0

그러면 대답을 표시하십시오;) – demonking

+0

7 분 안에 할 수 있습니다. –

0

PHP와 HTML이 서로 다른 두 개의 파일이 아니라면, 나는 스스로를 게시하고 있습니다. 떠나라.

둘째, 두 문서를 같은 문서에 포함시키지 않는 것이 좋습니다.

셋째, 값을 추가하기 전에 세션을 시작해야합니다.

먼저 문자열이 첨부되어 있지 않으면 var에 ""을 포함 할 필요가 없습니다.

몇 가지 생각 ... 나쁘지는 않지만, 싱글은 내가 인정하고 싶은 것보다 더 많은 시간을 갖게되었습니다.

관련 문제