莫名其妙!
我有一个应该存储一些会话的页面,但是当我尝试打印它们时,没有任何内容显示出来
那里必须有会话,因为这第一页有一个链接,带我到第二页,在第二页,我可以成功显示会议!
<?
session_start();
include "frontend/header.php";
?>
</head>
<body>
<div id="header">
<? include "frontend/menu.php";?>
<div class="clear"></div>
</div>
<div id="green_bg" style="display:block">
<?
echo "1";
echo "<pre>";print_r($_SESSION); echo"</pre>";
?>
<div class="main thank-you">
<a class="thank_you">Thank You</a>
<p>Your phone number will be refilled in a moment. <br/>
Please check your emails for confirmation.
</p>
<div class="signUp4MonthlyRefills" style="background-color: #f7931e; padding: 20px;">
<h3>Do you want to save time and effort?</h3>
<br/>
Then leave the refills to us!!
<br/>
<br/><i>Introducing</i>... Auto Monthly Refills!!
<p>Sign up for automatic monthly refills and you'll never have to worry about your phone running out of credit!
<h1 align="center"><a href="auto-monthly-refills-form.php" style="font-size: 30px">Click Here To Sign Up.</a></h1></p>
</div>
<br />
</div>
</div>
<? include "frontend/footer.php";?>
当代码调用会话时,页面只显示“1”,然后显示一个空数组(即打印“array()”)。
然后当点击“auto-monthly-refills-form.php”链接时,它会显示所有会话!
"auto-monthly-refills-form.php"
文件看起来像这样:
<?
session_start();
echo "<pre>";print_r($_SESSION); die();
现在会显示会话(很多数据)!!
如果有人有任何想法可能是什么问题......
更新
即使删除了两个页面上的session_start(),它仍然可以正常工作!怎么会这样?
答案 0 :(得分:2)
好的...把它整理出来......请阅读......
即使这是一个新页面,代码也会脱离其他文件的层......
我不认为这应该是一个问题...
(我原本以为每个页面都需要它自己的provider == "somekey"
但是由于某些原因他们没有,而且所有这些都显然是基于一页...有点难以解释 - 足以说明我我正试图找出别人的代码:-P)
无论如何,我浏览了所有连接到这个文件的文件,删除了除了主要文件之外的所有session_start()
。现在它工作正常。
现在数据显示完美!
<强>问题:强>
有没有人对此有解释?
为什么有太多session_start()
导致问题?