我正在尝试在成员页面上显示一个非常简单的用户名。我在这里搜索stackoverflow但使用我发现的东西没有用。
我使用HTML表格指南中常用的注册/登录脚本 fg_membersite.php和其他一些文件。 (login.php,register.php等)。
当用户注册时,他会选择用户名,他的全名,电子邮件和密码。
当我尝试显示全名(FullUserName)和用户电子邮件(UserEmail)时 效果很好。我正在使用这个:
<?= $fgmembersite->UserEmail(); ?>
<?= $fgmembersite->UserFullName(); ?>
但是当我尝试显示用户名(UserName)时,它什么都没有。 (页面显示,但我基本上得到欢迎!而不是欢迎{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>
已解决:
我只需要为此添加“用户名”:
$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'";
谢谢大家!!!
答案 0 :(得分:1)
不应该这样:
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;
答案 1 :(得分:0)
它应该是??: -
$row = mysql_fetch_assoc($result);
$_SESSION['username_of_user'] = $row['username'];
function UserName()
{
return isset($_SESSION['name_of_user'])?$_SESSION['username_of_user']:'';
}
答案 2 :(得分:0)
看起来像代码中的拼写错误:
function UserName()
{
return isset($_SESSION['name_of_user'])?$_SESSION['name_of_user']:'';
}