2012-05-08 124 views
0

我不确定为什么会话中没有返回变量用户名。当用户登录时,我开始会话:从会话中获取价值PHP

$username = trim($_POST['username']); 
if(!isset($_SESSION)){ session_start(); } 
$_SESSION[$this->GetLoginSessionVar()] = $username; 

在用户的欢迎页面,当我运行echo命令,我看到返回正确的变量。但我不确定为什么返回声明不起作用。我在我的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,并且它也被正确地产生。 你能帮我理解我做错了什么吗?

+2

忘记回声'<?PHP echo $ fgmembersite-> UserName(); ?>' – mgraph

回答

5

fgmembersite的一个对象,并有它的功能叫做UserName

如果是的话,你只是错过echo

<?PHP echo $fgmembersite->UserName(); ?> 
2

您需要打印出您的变量。使用

Echoprint

2

也许你应该增加输出:

<?php print $fgmembersite->UserName(); ?> 
3

您必须添加回声或打印所以应该是这样的;

<?PHP echo $fgmembersite->UserName(); ?> 
1

如果您使用的是剧本我觉得你使用,你需要在这行通过fg_membersite.php看:

function CheckLoginInDB($username,$password) 

whithin那行,你应该有一个MySQL声明:

$qry = "SELECT etc... 

当我试图添加UserAvatar我可以将其添加到MySQL的字符串来做到这一点。

在附注中,我也无法添加用户名,而对于我的生活,我无法弄清楚为什么它的工作方式与我以前的解决方法不同,但不管怎么样,但我仍然说服该文件中的某些东西最终会成功。

编辑:

好吧,我知道了,只是这样做:

回声$ fgmembersite->用户名($用户名);

用户名将直接弹出。我不知道为什么,我不知道足够的PHP来解释它,但我只能认为这会让你去。