我有两页。在一个页面上,我将一个数组添加到$_SESSION
。在第二页上,我正在读取数组(已成功),然后unset
来自$_SESSION
的数组。
但是,第二页显示的值与会话中存储的第一页的值不同 - 这导致我认为第一页被一次又一次地调用,但是如果我在会话和不我自己重新加载页面?
我做错了什么?感谢
编辑:忘记提及网站上的Flash文件请求第二个脚本。 flash文件将会话ID作为其参数之一,然后将其发送到第二个脚本以加载正确的会话(session_id($_REQUEST['token']);
部分)。
第1页:
$_SESSION['HEADER_MODEL'] = getModelForHeaderVideo();
/*
[HEADER_MODEL] => Array
(
Yes these are just random numbers (for testing)
[modID] => 303768959
[modUsername] => 347073152
)
*/
第2页:
<?php
session_id($_REQUEST['token']);
session_start();
header('Content-Type: text/html; charset=utf-8');
if (!isset($_SESSION['HEADER_MODEL']['modID']) || (trim($_SESSION['HEADER_MODEL']['modID']) == '')) {
echo "modID=0";
} else {
echo "&modID={$_SESSION['HEADER_MODEL']['modID']}&modUsername={$_SESSION['HEADER_MODEL']['modUsername']}";
unset($_SESSION['HEADER_MODEL']);
}
?>
答案 0 :(得分:1)
请参阅PHP文档
注意:使用会话cookie时,指定session_id()的id将始终在调用session_start()时发送新cookie,无论当前会话ID是否与正在设置的会话ID相同。
PHP会话数组不断变化,因为这是您的代码指示它执行的操作