有点菜鸟问题,但我正在编写一个棋盘游戏,其中棋盘的状态以及其他游戏状态信息被存储为 php session 变量。该板是用 html/jquery 渲染的。每回合都会对 php 进行 ajax 调用,以执行逻辑来更改棋盘的状态。但是每次 ajax 调用,似乎都会打开一个新的 php session ,而旧的 session 会被遗忘。代码如下:
'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;
}
?>
最佳答案
尝试使用 $_SESSION
而不是 $_session
。所有 PHP 变量名称均为 case sensitive
关于php - php session 关闭后如何重新打开它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10508556/