2012-03-07 2 views
2

'취소'버튼을 클릭 한 후 $ _SESSION [ 'userList']을 (를) 파괴하고 싶습니다. 그러나 페이지로드시 $ _SESSION [ 'userList']이 (가) 파괴됩니다.

<a href='#' class="btn" onClick="resetForm()"><span>Cancel</span></a> 

<script type="text/javascript"> 

       function resetForm() { 
        <?php 

         unset($_SESSION['userList']); 

        ?> 

       } 
      </script> 

정말 어떤 도움을 주셔서 감사합니다 :

다음은 내 코드입니다.

답변

2

JAVASCRIPT

$.ajax({ 
    type: "POST", 
    url: "phppage.php", 
    data: "action=unsetsession", 
    success: function(msg){ 
     alert(msg); 
     if(msg == "success"){ 
      //cleared session 
     }else{ 
      //failed 
     } 
    }, 
    error: function(msg){ 
     alert('Error: cannot load page.'); 
    } 
}); 

PHP

<a href='#' class="btn" onClick="resetForm()"><span>Cancel</span></a> 

<script> 
function resetForm() 
{ 
    jQuery.ajax({ 
     type: "POST", 
     url: "cancel.php", 
     data:, 
     cache: false, 
     success: function(response) 
     { 
     } 
    }); 
} 
</script> 

에 대한

if($_POST['action'] == "unsetsession"){ 
    unset($_SESSION['userList']); 
    echo "success"; 
} 
0

이렇게하면 JS에서 PHP를 호출 할 수 없습니다. 서버에 다시 전화해야합니다.

3

자바 스크립트 (클라이언트 측)에서는 PHP (서버 측)를 실행할 수 없습니다. PHP를 호출하려면 HTTP 요청을해야합니다. 당신은 AJAX를 사용하여 그렇게 할 수 있습니다.

1

귀하의 예제에서와 같이 클라이언트 측에서 PHP 코드를 실행할 수 없습니다. 재부팅 할 때 세션을 삭제하려면 ajax 요청을 사용해야합니다.

1

당신에게 더 나은 사용 jQuery를 그리고 이렇게 될 것이다 새로운 cancel.php 생성 -

취소에 대한
+0

좋은 일을 // HTML (당신은 원정 당신이 원하는 보이게하기 위해 CSS를 사용할 수 있습니다) .. – MakuraYami

+0

@MakuraYami 잠시 시간을내어주의 깊게 살펴보고 두 게시물을 비교 한 다음 어떤 결론에 도달하십시오. – skos

+0

당신은 기능을 넣고 캐시를 추가하는 것이 그렇게 큰 difrence다는 것을 의미합니까? 그걸로 행운을 빌어 요. – MakuraYami

0

사용 버튼을 제출

<form method="post" > 
<input type="button" value="Cancel" name="cancel" id="cancel" /> 
</form> 

// PHP 내 게시물을 복사

if(isset($_POST['cancel')) 
{ 
    unset($_SESSION['userList']); 
} 
관련 문제