如何在关闭后重新打开php会话?

时间:2012-05-09 01:00:13

标签: php jquery ajax session

排序一个菜鸟问题,但我正在写一个棋盘游戏,其中棋盘状态以及其他游戏状态信息被存储为php会话变量。该板使用html / jquery呈现。每转一次ajax调用都会执行php来执行逻辑来改变电路板的状态。但是每个ajax调用,它似乎都会打开一个新的php会话而旧的会话被遗忘。这是代码:

'index.php'
        $.ajax({
        type: 'POST',
        url: 'cycle.php',
        data: {},
        dataType: 'json',       
        success: function(data, status, jqXHR) {    
            var stuff = jQuery.parseJSON(jqXHR.responseText);
            $("#board").html(stuff.html);       
        },
    }); 


'cycle.php'
        <?php 
session_start();
include('functions.php');
header('Content-type: application/json');

if (!isset($_session['turn'])) {

    $_session['turn'] = 1;
    $_session['population'] = "";
    $out = write_table();   
    $out['turn'] = $_session['turn'];
    $out = json_encode($out);
    echo $out;
}
else {
    $_session['turn'] = 2;
    $out = turn($_session['population']);
    $out['turn'] = $_session['turn'];
    $out = json_encode($out);
    echo $out;
}




?>

2 个答案:

答案 0 :(得分:5)

尝试$_SESSION而不是$_session。所有PHP变量名都是case sensitive

答案 1 :(得分:1)

只要您不致电session_start()

,就应该自动拨打session_destroy()

您的代码/设置必须有更深层次的内容才能实现。

也许检查与会话相关的PHP INI设置。