2012-05-08 169 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來解釋它,但我只能認爲這會讓你去。