0

ボタンのイベントdestroy()と呼ばれる関数を作成しました。しかし、問題は、ログアウトボタンがクリックされたかどうかにかかわらず、その関数のサーバー側コードがページの読み込み時に常に呼び出されることです。ボタンのセッション変数イベントの値を設定するだけです。適切な方法を教えてください よろしくお願いしますonclicklogoutlastVisit onclicklogout

              function destroy()
                {
                <?php $_SESSION['lastVisit'] = "logout"; ?>
                alert('hi');

                }
4

2 に答える 2

2

PHPコードとJavaScriptコードを混在させているため、連携しないため、ajax呼び出しを行う必要がありますが、jQueryを使用しているため、これは簡単です。

Javascript

jQuery(document).ready(function() {
   jQuery("#LogoutButtonID").click(destroy());
});
function destroy() {
   jQuery.ajax({
      "url":"http://www.example.com/someScriptToLogout.php",
      "success":function() {
         alert("i logged out");
      }
   });
}

そして someScriptToLogout.php で

<?php
session_start();
$_SESSION['lastVisit'] = "logout";
于 2013-06-30T16:44:30.150 に答える
1

なぜアヤックスの道を行かないのですか?

PHP:

if(isset($_POST['endSession'])){
destroy();

echo 'Hi';
}

function destroy(){
  $_SESSION['lastVisit'] = "logout"; 
                }

JavaScript:

$.post('logOut.php',{endSession:'yes'},function(hi){

alert(hi)

})

それは確かにあなたが望むことをします

注意:このソリューションは、ページに jQuery があり、php コードが次の名前のページにあることを前提としています。logOut.php

于 2013-06-30T16:49:25.973 に答える