【问题标题】:php session variables on multiple pages not working多个页面上的php会话变量不起作用
【发布时间】:2017-08-26 01:13:12
【问题描述】:

<?php
//page 1
session_start();
...
$_SESSION['user_name_loggedin'] = $user;
header("Location: profile.php");
...
?>

<?php
//page2
session_start();
...
if(isset($_SESSION['user_name_loggedin'])){
	echo $_SESSION['user_name_loggedin'];
}else{
	echo 'not set<br>';
}
...
?>

我正在尝试使用会话在我的网站上进行登录。上面显示了我希望在使用会话之间传输信息的两个页面的示例。 $user 取自登录页面上的登录表单。在个人资料页面上,登录后只显示“未设置”。我有什么遗漏吗?

提前致谢

【问题讨论】:

  • 你的浏览器允许cookies吗?
  • $user 是否可序列化?
  • 确保 $user 在登录页面上有一个值。如果没有从表单中检索该值,则不会设置 SESSION 变量。尝试打印出 $user,并注释掉重定向标头。看看有没有值。

标签: php session variables


【解决方案1】:

使用以下代码在本地尝试:

1 测试.php

`<?php
//page 1
session_start();
$user="dvjnvki";
$_SESSION['user_name_loggedin'] = $user;
header("Location: b.php");
?>`

2 b.php

<?php
//page2
session_start();
if(isset($_SESSION['user_name_loggedin'])){
echo $_SESSION['user_name_loggedin'];
}else{
echo 'not set<br>';
}
?>

而且它确实工作得很好。因此,您的代码的问题可能是您可能没有获得名为 $user 的变量的值。尝试先回显,看看是否有输出。

【讨论】:

    猜你喜欢
    • 2023-03-13
    • 2013-10-09
    • 2013-03-21
    • 2011-08-17
    • 2013-11-10
    • 2015-09-30
    • 2012-08-17
    • 2014-05-16
    相关资源
    最近更新 更多