排序一个菜鸟问题,但我正在写一个棋盘游戏,其中棋盘状态以及其他游戏状态信息被存储为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;
}
?>
答案 0 :(得分:5)
尝试$_SESSION
而不是$_session
。所有PHP变量名都是case sensitive
答案 1 :(得分:1)
只要您不致电session_start()
session_destroy()
您的代码/设置必须有更深层次的内容才能实现。
也许检查与会话相关的PHP INI设置。