2012-03-07 19 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

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

このようにJSからPHPを呼び出すことはできません。サーバーにコールバックする必要があります。

3

JavaScript(クライアント側)ではPHP(サーバー側)を実行できません。 PHPを呼び出すためにHTTPリクエストを発行する必要があります。あなたはAJAXを使ってそれを行うことができます。

1

例のようにクライアント側でPHPコードを実行することはできません。セッションを破棄するには、ajaxリクエストを使用する必要があります。

1

ますこの

<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> 

のためのより良い使用jQueryとこのようになりますどのcancel.php新しいを作成 -

キャンセルのため
+0

素敵な仕事をし // HTML(あなたはそれが離れてあなたが欲しい見えるようにCSSを使用することができます)。.. – MakuraYami

+0

@MakuraYamiなぜあなたはしばらく時間をとって、それらの2つの投稿を慎重に比較してから結論に達するのですか? – skos

+0

あなたは機能を入れて、キャッシュを追加することはそのような大きな違いであるということですか?それと仲良くして幸運。 – MakuraYami

0

使用して送信ボタンを

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

// PHP私のポストをコピー

if(isset($_POST['cancel')) 
{ 
    unset($_SESSION['userList']); 
} 
関連する問題