用PHP会话信息填充文本


Populate text with PHP Session information

我有一个页面,在用户登录后,会话开始,并出现一条带有用户名的欢迎消息,如下所示:

<h2>Welcome, <?php echo $_SESSION["User"]; ?>, to the site!</h2>

或者类似的事情——还没有决定。但问题是,它没有出现。

我有对用户进行身份验证的代码以及所有这些,并且这部分工作正常。他们进行了身份验证,并且有一个会话——它确实存在(如果不存在,页面会根据尝试次数将他们重定向到登录或错误页面)。

当他们进行身份验证时,表单会发布到一个"login.php",所有其他代码都会在这里发生,包括以下代码:

if (isset($_POST['submit']) && ($allowEntry == yes))
{
 session_start();
 session_register ("Logged_In");
 session_register("User");
 $_SESSION["Logged_In"] = 'true';
 $_SESSION["User"] = $user;
if ($_SESSION["User"]=='SOMEUSER')
{
header( 'Location: /somepage.php' );
exit;
}
elseif ($_SESSION["User"]=='SOMEOTHERUSER')
{
header( 'Location: /someOtherPage.php' );
exit;
}
}

那么,有人知道如何让文本出现在上面的"元素中吗?

我不确定我是否完全理解这个问题,但我认为您在一个脚本中设置会话,并试图在另一个脚本从中获取值?如果是这样的话,很可能是因为您在第二秒内没有调用session_start()。文档中的注释

session_start()基于创建会话或恢复当前会话通过GET或POST请求传递的会话标识符,或通过曲奇