2016-10-27 2 views
-1

이 스크립트에는 문제가 있습니다.자바 스크립트, PHP, Ajax

$("#login").click(function(event) { 

    event.preventDefault(); 

    var email = $("#email").val(); 
    var pass = $("#password").val(); 

    $.ajax({ 

     url : "login.php", 
     method: "POST", 
     data: {userLogin:1, userEmail:email, userPassword:pass}, 
     success : function(data){ 

      if(data == "1"){ 

       alert(data); 
      } 

     } 

    }) 

내가 내가 만약 상태 알림 (데이터)를 넣어 didnt한다 경우 내가 다른 PHP 파일

<?php 

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

     $email = mysqli_real_escape_string($con, $_POST['userEmail']); 

     $password = md5($_POST['userPassword']); 

     $sql_login = "SELECT * from database where email = '$email' AND password = '$password'"; 

     $query_login = mysqli_query($con, $sql_login); 

     $count_login = mysqli_num_rows($query_login); 

     if($count_login == 1){ 

      $row_login = mysqli_fetch_assoc($query_login); 

      $_SESSION['uid'] = $row_login['user_id']; 

      $_SESSION['name'] = $row_login['first_name']; 

      echo "1"; 

     } 


    } 

    ?> 

에 에코에서 점점 오전 값을 경고 할,이 값을 표시 전 에코하지만, 로그인 할 수있는 적절한 사용자를 활성화하는 조건이 필요합니다.

+1

'데이터'의 값은 무엇입니까? – Turnip

+0

@ Turner 나는 "1"이 아닌 백만 달러를 내기로했습니다. – mittmemo

+0

그래서 제가 물었습니다 : – Turnip

답변

0

IF는 무엇보다 좋을 수도 있습니다. 아약스에서

는 문제를 발견하는 데 도움이 있는지 확인하기 위해 다른 조건을 추가 :

if (data == "1") { 
    alert('youre in'); 
} else { 
    alert('try again'); 
} 

그리고 당신의 PHP에서

는 또한 다른 조건에 대해 계정을 (행의 수에 엄격한 검사를 할) ===와 :

if ($count_login === 1) { 
    // code ... 
    echo '1'; 
} else { 
    echo 'Sorry, the login is incorrect'; 
} 
+0

덕분에 정말 도움이됩니다. 지금은 데이터를 표시하는 대신 다른 페이지를 열길 원합니다. window.location.href = "new.php"; 그러나 그것의 NT는 여전히 에코 데이터를 표시합니다. – Rheedwahn

+0

답변으로 선택하십시오 - 당신이 원한다면 새로운 질문을 할 수도 있습니다 - 나는 그 코멘트에서 방금 제공 한 제한된 정보로 대답 할 수 없습니다. – WEBjuju

+0

안녕하세요. 도움이된다면 해결책으로 선택 하시겠습니까? – WEBjuju

0

난 항상, PLS, 조건의 경우와 밖으로에, "1", 경고 (데이터) 1을 보여 isset($_POST['userLogin']) 경우 또는 다른 뭔가를 에코 에코 경우는, 나를 위해 잘 작동 $count_login == 1이 거짓이거나 n

error : function(data) { 
    $('body').append("<div>"+data.responseText+"</div>") 
} 

을 prob로 디버깅하십시오. .php 파일에서 아무 것도 울리지 않으면 성공하지 않고 오류가있는 데이터를 반환하므로 어쩌면 그게 문제 일 수 있습니다.