Php 会话未显示,但肯定如下页所示
莫名其妙Php 会话未显示,但肯定如下页所示,php,html,session,session-state,Php,Html,Session,Session State,莫名其妙 我有一个页面,该页面应该存储了一些会话,但当我试图打印它们时,却没有显示任何内容。 那里必须有会话,因为第一个页面有一个链接可以将我带到第二个页面,在第二个页面中我可以成功显示会话 <? session_start(); include "frontend/header.php"; ?> </head> <body> <div id="header"> <? include "frontend/me
我有一个页面,该页面应该存储了一些会话,但当我试图打印它们时,却没有显示任何内容。
那里必须有会话,因为第一个页面有一个链接可以将我带到第二个页面,在第二个页面中我可以成功显示会话
<?
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";?>
现在会显示会话(大量数据)如果有人知道问题出在哪里 更新:
即使在删除两个页面上的会话_start()后,它仍能正常工作!怎么会这样?好吧。。。把它整理好。。。请阅读 尽管这是一个新的页面,但代码有点脱离了其他文件的层次 我不认为这是个问题 (我原以为每个页面都需要它自己的
session_start()
,但由于某些原因,它们不需要,而且它们显然都是基于一个页面…解释起来有点复杂-可以说我正在尝试整理其他人的代码:-p)
无论如何,我检查了所有连接到此文件的文件,删除了除主文件之外的所有会话\u start()
s。现在它工作得很好
数据现在显示得非常完美
问题:有人对此有解释吗?
为什么有太多的
会话\u start()
会导致问题?以及它在您的第二页上显示的值是多少。。。请在第一页的会话开始()后立即尝试打印。另外,如果刷新页面会发生什么情况?可能是缓存吗?还有,你如何跳转到第一页?如果您从第二个页面链接到第一个页面,它仍然会这样做吗?调试:我会:1)将错误报告设置为:。2) var\u转储($\u COOKIE,$\u会话)在两个脚本中,会话启动后立即执行代码>。为什么?您应该看到会话cookie和任何会话数据。3) 要确保会话未处于活动状态,请在会话启动之前添加var\u dump(isset($\u session))代码>。在这两种情况下,它都应该报告false
。这可能会提供足够的线索来确定发生了什么。因此,假设您的文件名为test\u file1.php
和test\u file2.php2
。然后在web浏览器中输入:http://localhost/test_file1.php
并报告var\u转储(isset($\u会话))代码>在会话_start()之前代码>指令返回true?听起来不对。您没有在“框架”中运行这些文件,是吗?请在问题中添加您正在使用的PHP/O/S和Web服务器的版本。您是否解决了@ChristianCerri提出的缓存问题?尝试按shift+f5以完全重新加载页面。从技术上讲,多个会话_start()应该可以工作,尽管速度很慢。E_通知产生了,可能这把事情搞砸了。无论如何,最好只调用一次,或者在调用之前检查是否设置了$\u会话。很高兴你能成功…@ChristianCerri谢谢你的帮助:-)。奇怪的是,它在第一个文件中出错了,而不是在第二个文件中。。。如果有的话,应该是另一种情况。。。?
<?
session_start();
echo "<pre>";print_r($_SESSION); die();