我试图在成员页面上显示一个非常简单的用户名。我在这里搜索stackoverflow,但使用我发现没有工作。
我使用了HTML表单指南中非常常见的注册/登录脚本Fg_membersite.php和其他文件。(login.php, register.php等)。
当用户注册时,他选择了用户名、全名、电子邮件和密码。
当我尝试显示全名(FullUserName)和用户电子邮件(UserEmail)时它工作得很好。我正在使用这个:
<?= $fgmembersite->UserEmail(); ?>
<?= $fgmembersite->UserFullName(); ?>
但是当我尝试显示用户名(UserName)时,它什么也没有给出。(页面显示出来,但我基本上得到欢迎!,而不是Welcome {UserName}
我试着把这个添加到fg_membersite.php文件:
function UserName()
{
return isset($_SESSION['name_of_user'])?$_SESSION['username_of_user']:'';
}
:
$row = mysql_fetch_assoc($result);
$_SESSION['username_of_user'] = $row['username'];
这两个已经在文件中了:
$_SESSION['name_of_user'] = $row['name'];
$_SESSION['email_of_user'] = $row['email'];
而对于成员页,我尝试使用:
<?= $fgmembersite->UserName(); ?>
<? echo $_SESSION[ "username"]; ?>
<? var_dump($_SESSION[ "username"]); ?>
我的问题是,是否有解决方案?
在成员页中是这样设置的:
<?PHP
require_once("./include/membersite_config.php");
if(!$fgmembersite->CheckLogin())
{
$fgmembersite->RedirectToURL("login.php");
exit;
}
?>
<li>Welcome <? echo $_SESSION['username_of_user']; ?>!
<li class="active"><span class="pull-right"><a href='change-pwd.php'>Change password</a></span></li>
</ol>
<span class="text-primary"><b></b></span>
解决:
我只需要加上"username":
$qry = "Select name, email from $this->tablename where username='$username' and password='$pwdmd5' and confirmcode='y'";
像这样:
$qry = "Select username, name, email from $this->tablename where username='$username' and password='$pwdmd5' and confirmcode='y'";
谢谢大家!!
不应该是这样吗:
function UserName()
{
return isset($_SESSION['username_of_user'])?$_SESSION['username_of_user']:'';
}
…如果它仍然没有返回任何值,说明会话变量没有设置(您是否设置了session_start()?),则转储整个数组以检查:
echo "<pre>".print_r($_SESSION,true)."</pre>";
你的问题是:
$qry = "Select name, email from $this->tablename where username='$username' and password='$pwdmd5' and confirmcode='y'";
您没有从数据库中选择用户名!
或者试试这个(来自pastebin的第381行):
$_SESSION['username_of_user'] = $username;
应该是这样吗??: -
$row = mysql_fetch_assoc($result);
$_SESSION['username_of_user'] = $row['username'];
function UserName()
{
return isset($_SESSION['name_of_user'])?$_SESSION['username_of_user']:'';
}
看起来像你代码中的一个错别字:
function UserName()
{
return isset($_SESSION['name_of_user'])?$_SESSION['name_of_user']:'';
}