필터

2014-12-29 3 views
0

나는 성공적인 세션 변수를 생성, 검증을 반환 데이터와 아약스 + 리디렉션에서 데이터를 반환했습니다.필터

유효성 검사에 오류가있는 경우 메시지가 표시됩니다. 이 echo 된 메시지는 데이터 인수를 통해 Ajax 성공 메소드에 의해 수신된다.

$.ajax({ 
    url: '../includes/login_validation.php', 
    type: 'post', 
    data: inputs, 
    success: function(data){ 
     $("span#error_msg").html(data); 
    }, 
    // returns 'Incorrect Password' 

내 문제는 PHP 파일의 반환 응답을 정의하는 데 있습니다.

예를 들어, 오류가 발생하면 PHP 스크립트는 메시지를 에코하고이 응답을 Ajax 성공 메소드를 통해 수신하여 처리하고 HTML 자리 표시 자에 배치합니다.

그러나 SESSION 변수가 할당 된 경우 해당 데이터를 반환하고 리디렉션에 포함하려고합니다.

제 질문은 반향 값과 다른 데이터가 포함 된 반환 값 (예 : $ _SESSION [ 'artist_name'])을 구별하는 방법은 무엇입니까?

성공하면 리디렉션 된 페이지가 세션 변수에 액세스 할 수 있도록 내 리디렉션에 어떻게 포함시킬 수 있습니까?

if(password_verify($password, $artist_password)) { // if this is true 
    // create $_SESSION artist name 
    $_SESSION['artist_name'] = $artist_name; 
    echo '{"status":"success","result":"'.$artist_name.'"}'; 
} else { 
    echo '{"status":"error","result":"Incorrect Password"}'; 
} 

다음으로, JS에서 출력을 처리 : 조금 JSON 서식을하는 것에 대해 어떻게

window.location.href="artistWorkshop.php"; // plus session variable 
+0

왜를 '$ _SESSION [ 'incorrect']'을 만드시겠습니까? –

답변

0

$.ajax({ 
    url: '../includes/login_validation.php', 
    type: 'post', 
    data: inputs, 
    success: function(data){ 
     var obj = JSON.parse(data); 
     if (obj.status == 'success') { 
      // redirect 
      window.location.href="artistWorkshop.php?artist="+obj.result; 
     } 
     if (obj.status == 'error') { 
      // throe error 
      $("span#error_msg").html(obj.result); 
     } 
    }, 
}); 

당신은 이런 식으로 여러 형식을 처리 할 수 ​​있습니다. AJAX 호출 자체가 성공했기 때문에 JS가 성공으로 모든 출력을 해석하는 것이 문제였다. 이제 요청의 실제 결과를 확인하라는 메시지가 나타납니다. 당신의 코드에서 아약스 요청의 실제 실패를 결정하기 위해, 당신은 error 노드를 포함해야합니다 : 당신이 경로를 이동하는 경우

$.ajax({ 
    url: '../includes/login_validation.php', 
    type: 'post', 
    data: inputs, 
    success: function(data){ 
     $("span#error_msg").html(data); 
    }, 
    error: function(data){ 
     // handle the error 
    }, 

이 체크 아웃 :

http://api.jquery.com/jquery.ajax/

+0

고마워요! 나는 아직 JSON에 대해 알지 못했다.하지만 JSON은 정말 간결한 방식으로 보인다. 도와 줘서 고마워! – David

+0

쿨, 도움이되기를 바랍니다! – webmasterjunkie