重新加载页面后,Session有不同的元素?

时间:2012-08-12 04:37:09

标签: php arrays session

第1页:

session_start();
$_SESSION['allCaps']=array("img01.png", "img02.png"...);  // 20 images

第2页:

shuffle($_SESSION['allCaps']);
$_SESSION['fiveCaps'] = array_slice($_SESSION['allCaps'], 0, 5);
foreach ($_SESSION['fiveCaps'] as $key=>$val)
echo $key." ".$val;   // result - five img.names - remember this

第3页:

session_start();
shuffle($_SESSION['fiveCaps']);
foreach ($_SESSION['fiveCaps'] as $key=>$val)
echo $key." ".$val;   // result - five img. names - remember this

我认为两个结果总是相同,当然除了排序元素(因为第3页的随机播放)。
但有时结果是相同的,有时(重新加载第3页后) - 不是 在第3页上显示第2页上不存在的元素

2 个答案:

答案 0 :(得分:1)

从第3页开始删除此行:

session_start();

此外,请注意有时会话会丢失,因为Web服务器已重新启动。

答案 1 :(得分:1)

我试过了,发现没问题。我想这是因为你在第3页再次开始会话。删除行:

session_start();

请参阅第3页,请告诉我它是否有效。 :)