我不确定为什么会话中没有返回变量用户名。当用户登录时,我启动会话:
$username = trim($_POST['username']);
if(!isset($_SESSION)){ session_start(); }
$_SESSION[$this->GetLoginSessionVar()] = $username;
在用户的欢迎页面上,当我运行echo命令时,我看到正在返回的正确变量。但我不确定为什么return语句不起作用。我的PHP文件中有以下内容:
function UserName()
{
return isset($_SESSION['name_of_user']) ? $_SESSION['name_of_user'] : "Unknown User" ;
//echo $_SESSION['name_of_user'];
}
在我的HTML中,我有:
Welcome back <?PHP $fgmembersite->UserName(); ?>!
我还检查了会话ID,并且它也正在生成。 你能帮我理解我做错了吗?
答案 0 :(得分:5)
fgmembersite
是一个对象并拥有名为UserName
的函数吗?
如果是,您只是错过echo
<?PHP echo $fgmembersite->UserName(); ?>
答案 1 :(得分:3)
你必须添加echo或print,所以应该是这样的;
<?PHP echo $fgmembersite->UserName(); ?>
答案 2 :(得分:2)
您需要打印出您的变量。使用
Echo
或print
答案 3 :(得分:2)
可能你应该添加输出:
<?php print $fgmembersite->UserName(); ?>
答案 4 :(得分:1)
如果您使用的是我认为您正在使用的脚本,则需要在以下行中查看fg_membersite.php:
function CheckLoginInDB($username,$password)
在那行中你应该有一个MySQL声明:
$qry = "SELECT etc...
当我尝试添加UserAvatar时,我可以通过将其添加到MySQL字符串来实现。
另一方面,我在添加UserName方面遇到了麻烦,对于我的生活,我无法弄清楚为什么它会比我以前的解决方案有所不同,但不知怎的,但我仍然相信该文件中的某些内容最终会成功。
编辑:
好的我明白了,就这样做了:
echo $ fgmembersite-&gt; UserName($ username);
用户名将立即弹出。我不知道为什么,我不知道足够的PHP解释它,但我只能假设这会让你去。