我知道这个标题与1000个与问题相关的其他帖子重复,如果解决方案在那里,我会提前道歉。相信我,我经历了很多关于这个主题的帖子,并尝试了所有规定的解决方案,但没有运气。
我正在尝试通过第1页中的以下代码创建SESSION变量:
<?php
$conditionArray = array('Past', 'Past', 'Future', 'Future');
$typeArray = array('Gains', 'Gains', 'Losses', 'Losses');
shuffle($conditionArray);
shuffle($typeArray);
session_start();
$_SESSION['conditionArray'] = implode(',',$conditionArray);
$_SESSION['typeArray'] = implode(',',$typeArray);
var_dump($_SESSION);
?>
<html>
<body>
</body>
</html>
现在var_dump显示以下内容:
array(2) { ["conditionArray"]=> string(23) "Future,Past,Past,Future" ["typeArray"]=> string(25) "Gains,Gains,Losses,Losses" }
哪个好。
在下一页上,我试图通过以下代码检索变量:
<?php
session_start();
echo $_SESSION['typeArray'];
var_dump($_SESSION);
?>
<html>
<body>
</body>
</html>
它给了我:
array(0) { }
我试着查看php的错误日志文件,我没有看到任何相关内容。任何帮助将不胜感激!
答案 0 :(得分:3)
<强> FIXED:强>
找到解决方案后我感到相当愚蠢,但@webgal是对的。 我需要在&lt;之前放置session_start() !DOCTYPE HTML&gt;同样。我把它放在它下面和html标签上方。我要感谢你们所有的时间,耐心和努力,真诚地为我的无知道歉!
答案 1 :(得分:2)
这可能是权限问题。检查会话的写入位置(ini文件中的session.save_path)。通常它位于/ tmp文件夹中。但如果它设置为另一个文件夹而您的Web服务器没有写入权限,则可能会遇到此问题。
此外,在下一页打印session_id()
以检查您的会话是否已开始。