可能有一个简单的解释,但我是PHP的新手,经过三天的故障排除和浏览互联网后,我似乎无法找到解决方案。
我想在他/她登录后在索引页面上显示用户的名字。我在页面顶部有一个表单和一个提交按钮,用于查询数据库以验证用户。此代码工作正常,但索引页面并不表示用户已登录,直到我刷新页面。 我尝试过header()函数,元刷新,各种javascript脚本无济于事。这是我正在使用的代码,它夹在几个标签之间。
<?php
if (isset($_SESSION['valid_user']))
{
$userid = $_SESSION['valid_user'];
include("sqlcon.inc.php");
$query = "SELECT firstname from users where userid ='$userid'";
$result = mysql_query($query) or die('Could not query database at this time');
while($row=mysql_fetch_array($result, MYSQL_ASSOC))
{
$firstname = $row['firstname'];
}
}
if (!isset($firstname))
{echo "You are not signed in.";
}else{
echo "$firstname is signed in.";}
?>
似乎需要发生的事情是,当提交登录表单并验证用户时,索引页面需要刷新以获取$ firstname变量。希望这是有道理的。
答案 0 :(得分:0)
确保您开始会话。在你的第一个if语句之前把它扔掉。
session_start();
此外,还有更多信息:http://php.net/manual/en/function.session-start.php