会话变量不会延续到其他页面 [重复]
Posted
技术标签:
【中文标题】会话变量不会延续到其他页面 [重复]【英文标题】:Session Variables Not Carrying Over to Other Pages [duplicate] 【发布时间】:2013-11-10 12:47:41 【问题描述】:我的第一页是:
<?php
session_start();
$_SESSION['test'] = 'testSession';
?>
其他页面是:
<?php
session_start();
echo $_SESSION['test'];
?>
第二页没有输出。错误日志输出:
[2013 年 10 月 30 日 12:13:53] PHP 警告:session_start() [function.session-start]:无法发送会话缓存限制器 - 标头已发送
对于问题可能是什么有什么想法吗?会话变量可以在第一页上很好地输出(当我测试时),但不能在第二页上输出。谢谢。
【问题讨论】:
这是您页面顶部的第一个代码吗?在您的开始 php 标记之前是否有空格或换行符 -_<?php
还有一件事 - 您应该以某种方式将 SSID 传递到另一个页面。得到。邮政。饼干...
【参考方案1】:
如果您在应用程序中使用会话,那么您必须在页面的最顶部开始会话,您必须避免在
之后出现空格或多余的行空格<?php
和
session_start();
如下编写代码:
<?php
session_start();
$_SESSION['test'] = 'testSession';
?>
在第二页,
<?php
session_start();
echo $_SESSION['test'];
?>
希望这可以解决问题,如果仍然没有,那么您可以使用以下技术:
<?php
ob_start();
session_start();
$_SESSION['test'] = 'testSession';
?>
在第二页,
<?php
ob_start();
session_start();
echo $_SESSION['test'];
?>
【讨论】:
谢谢,但我想问一下ob_start();
是什么?以上是关于会话变量不会延续到其他页面 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
每当我重新加载页面时,仍会设置取消设置 PHP 会话变量 [重复]