会话变量不会延续到其他页面 [重复]

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 标记之前是否有空格或换行符 - _&lt;?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会话系统脚本重新加载页面没有消息[重复]

每当我重新加载页面时,仍会设置取消设置 PHP 会话变量 [重复]

php检索会话变量以限制对页面的访问[重复]

使用 gorilla 会话时未保存 golang 中的会话变量

如果会话无效,请禁用浏览器后退按钮 [重复]