【发布时间】:2017-08-11 04:58:46
【问题描述】:
在我的一个 PHP 项目的登录表单中。经过所有验证后,我设置了$_SESSION['username'] = $username(其中$username 值来自该用户的db_username,当我编写echo $username; 时,它会打印正确的值)。
假设$username 是“管理员”所以$_SESSION['username'] = 'Admin'。
成功登录后,页面会自动重新加载,问题就出现在这里。由于我已经登录,它必须显示 My Profile 菜单而不是 Login 菜单,但它显示的是 Login 菜单。所以我使用echo $_SESSION['username'] 打印空白值,而它应该打印“Admin”。
这在我的本地服务器(XAMPP,PHP 版本:7.0.9)中运行良好,但是当我在实时服务器(PHP 版本:5.6.30)中上传这些代码时会出现问题。
PHP 会话正在运行。当我使用以下代码进行检查时:
if( !session_start() ) {
session_start();
} else {
echo 'Session is started';
}
谁能帮我解决这个问题?提前致谢。
【问题讨论】:
-
至少不要给
session_start()打两次电话,没有意义。检查服务器提供的 cookie。 -
向您发布 html 和 php 代码以识别脚本中的任何问题或仅存在服务器问题
-
if (!session_start()) session_start();我笑了。 -
请更新问题,说明您如何将数据插入会话。