我正在处理file1
中的以下代码$_SESSION['manu']="hello";
$_SESSION[0]=$msg;
$_SESSION[1]=$msg1;
for($arr=0;$arr<sizeof($msg2);$arr++)
$_SESSION[$arr+2]=$msg2[$arr];
$_SESSION[++$arr]=$msg3;
$_SESSION[++$arr]=$file_name;
在档案2中
echo sizeof($_SESSION);
for($arr=0;$arr<sizeof($_SESSION);$arr++)
echo $_SESSION[$arr];
echo $_SESSION['manu'];
然而,在file2中,sizeof会话的结果是1,并且以偏移形式存储的所有会话值都会丢失?
答案 0 :(得分:1)
您是否已将 session_start()置于文件的顶部?添加它以防万一没有。
答案 1 :(得分:1)
$_SESSION
数组中元素的名称与普通PHP变量具有相同的限制:它们不能以数字开头,必须以字母或下划线开头。
因此,不允许使用数字作为会话元素。这就是你在过渡期间失去它们的原因 (如果您启用了错误报告,则会收到错误通知。)
而不是:
$_SESSION[0] = $msg;
$_SESSION[1] = $msg1;
尝试:
$_SESSION['msg'][0] = $msg;
$_SESSION['msg'][1] = $msg1;