从会话PHP中获取价值

时间:2012-05-08 22:03:26

标签: php session session-variables sessionid

我不确定为什么会话中没有返回变量用户名。当用户登录时,我启动会话:

$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,并且它也正在生成。 你能帮我理解我做错了吗?

5 个答案:

答案 0 :(得分:5)

fgmembersite是一个对象并拥有名为UserName的函数吗?

如果是,您只是错过echo

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

答案 1 :(得分:3)

你必须添加echo或print,所以应该是这样的;

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

答案 2 :(得分:2)

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

Echoprint

答案 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解释它,但我只能假设这会让你去。