0

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

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

4

5 回答 5

5

fgmembersite一个对象并且有它调用的函数UserName吗?

如果是,你只是错过了一个echo

<?PHP echo $fgmembersite->UserName(); ?>
于 2012-05-08T22:07:43.343 回答
3

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

<?PHP echo $fgmembersite->UserName(); ?>
于 2012-05-08T22:11:05.247 回答
2

你需要打印出你的变量。采用

Echo或者print

于 2012-05-08T22:07:53.230 回答
2

可能您应该添加输出:

<?php print $fgmembersite->UserName(); ?>
于 2012-05-08T22:07:59.047 回答
1

如果您使用的是我认为您正在使用的脚本,您需要查看 fg_membersite.php 中的行:

function CheckLoginInDB($username,$password)

在该行中,您应该有一个 MySQL 语句:

$qry = "SELECT etc...

当我尝试添加 UserAvatar 时,我可以通过将其添加到那个 MySQL 字符串来做到这一点。

附带说明一下,我在添加用户名时也遇到了麻烦,对于我的生活,我无法弄清楚为什么它的工作方式与我以前的解决方法有什么不同,但不知何故,但我仍然相信其中的一些东西文件最终会成功。

编辑:

好的,我明白了,只需这样做:

echo $fgmembersite->用户名($用户名);

用户名将立即弹出。我不知道为什么,我不知道足够的 php 来解释它,但我只能假设这会让你继续前进。

于 2012-11-09T19:01:23.767 回答