ページの読み込み時に ajax リクエストを実行し、特定の条件が発生したときに PHP セッションを削除しています。はい、これ:
function load_page(){
console.log("page load function")
$.ajax({
url: "ajax/page_load.php",
type: "POST",
data: "rand="+Math.random()*10000,
cache: false,
success: function (result) {
load_content(window.location.hash);
}
});
}
は次のpage_load.php
とおりです。
session_start();
require_once("../lib/connect.php");
require_once("../lib/users.php");
$user=new user();
if(isset($_SESSION['igames_user']))
{
if(!$user->check_logged_in($_SESSION['user']))
{
$_SESSION = array();
session_unset();
session_destroy();
print_r($_SESSION);
}
}
を返しますArray()
。これは、セッションがクリアであることを意味します。load_content()
関数では、別の ajax リクエストを実行しています。
function load_content(hash){
hash=hash.replace("#","");
$("#wrapper").fadeOut(function(){
var that=$(this);
that.html('');
that.addClass("loader");
that.addClass("loading_center");
that.fadeIn(function(){
var data=hash
$.ajax({
url: "ajax/get_page.php",
type: "GET",
data: data,
cache: false,
success: function (html) {
that.fadeOut(function(){
that.html(html);
that.removeClass("loader");
that.removeClass("loading_center");
that.fadeIn();
});
}
});
});
});
}
get_page.php はこれだけを行います:
session_start();
print_r($_SESSION);
これは、期待どおりに空の配列を返しません。どうした?手伝ってくれてありがとう。