2

有点像菜鸟问题,但我正在编写一个棋盘游戏,其中棋盘状态以及其他游戏状态信息被存储为 php 会话变量。该板是用 html/jquery 呈现的。每转一次,都会对 php 进行一次 ajax 调用,以执行逻辑来更改电路板的状态。但是每次 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;
}




?>
4

2 回答 2

5

尝试$_SESSION而不是$_session. 所有 PHP 变量名都区分大小写

于 2012-05-09T01:12:37.733 回答
1

session_start()只要您不打电话,它就应该是自动的session_destroy()

你的代码/设置必须有更深层次的东西才能发生。

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

于 2012-05-09T01:06:23.633 回答