2017-09-01 9 views
0

私は以下の問題があります: 私はPHPセッション変数にいくつかの変数を格納しています。今、私がリンクをクリックすると、そのリンクがユーザーをリンクされたページに誘導する前に、variable1、variable2、およびvariable3のすべての値を空に設定する必要があります。 testpage.phpがロードされる前に、変数が空に設定されていることを確認するにはどうすればよいですか? 100%安全な方法はありますか?JavaScriptセッション変数をjavacript/jquery経由で空にする前にリンク

<? 
$_SESSION["variable1"] = "value1"; 
$_SESSION["variable2"] = "value2"; 
$_SESSION["variable3"] = "value3"; 
?> 
<a href="testpage.php" id="killswitch">Go to but kill sessions before loading page</a> 

<script> 
$(function(){ 
      $(document.body).on('click touchstart', '#killswitch', function(){ 
       <? 
$_SESSION["variable1"] = ""; 
$_SESSION["variable2"] = ""; 
$_SESSION["variable3"] = ""; 
?> 
      }); 
     }); 
</script> 
+0

セッションを終了するためにajaxリクエストを行い、コールバックが成功した後に、ユーザーを任意のリンクにリダイレクトすることができます –

答えて

1

おそらくセッション変数を変更するサーバーにajaxリクエストを行うのが最も簡単な方法でしょう。

このようにするサーバー側では単純なスクリプトが必要で、イベント内では$.ajax呼び出しがjQueryで必要です。まず、リンクが呼び出されないようにする必要があります。なぜなら、最初にajaxリクエストを発生させるからです。このリクエストのコールバックでは、リンクのhrefを呼び出します。

それは次のようになります。

$(document.body).on('click touchstart', '#killswitch', function(event){ 
    event.preventDefault(); 
    $.ajax({ 
    url: "killswitch.php" 
    }).done(function() { 
    location.href = $(this).attr('href'); 
    }); 
}); 

は、この情報がお役に立てば幸いです。

関連する問題