会话没有显示,但肯定存在,如下页所示

时间:2016-05-01 13:01:00

标签: php html session session-state

莫名其妙!
我有一个应该存储一些会话的页面,但是当我尝试打印它们时,没有任何内容显示出来 那里必须有会话,因为这第一页有一个链接,带我到第二页,在第二页,我可以成功显示会议!

<? 
  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(),它仍然可以正常工作!怎么会这样?

1 个答案:

答案 0 :(得分:2)

好的...把它整理出来......请阅读......

即使这是一个新页面,代码也会脱离其他文件的层......

我不认为这应该是一个问题...

(我原本以为每个页面都需要它自己的provider == "somekey"但是由于某些原因他们没有,而且所有这些都显然是基于一页...有点难以解释 - 足以说明我我正试图找出别人的代码:-P)

无论如何,我浏览了所有连接到这个文件的文件,删除了除了主要文件之外的所有session_start()。现在它工作正常。

现在数据显示完美!

<强>问题:
有没有人对此有解释?
为什么有太多session_start()导致问题?