功能不会回响

时间:2013-04-27 03:47:48

标签: php function echo

这是功能。

function UsernameFun($ULN) {
if($ULN){
    if(empty($ULN->Nickname)){
        return $ULN->Username;
    } else {
        return $ULN->Nickname;
        }
    }
}

$ ULN就是这个

if(isset($_SESSION['Username'])) {
$LoggedIn = mysql_query("SELECT * FROM Users WHERE Username='".$_SESSION['Username']."'"); 
$ULN = mysql_fetch_object($LoggedIn);
}

我正在回应

echo"Logged in as ".UsernameFun($ULN->Username);

如果您需要了解其他任何我会很高兴知道的事情,但截至目前我还不知道您还需要知道什么。

我的意思是它不会回应是当我把

echo"Logged in as ".UsernameFun($ULN->Username);

仅“登录为”将回显,用户名或昵称不会回显。

1 个答案:

答案 0 :(得分:1)

由于您只向功能$ULN->Username发送UsernameFun($ULN->Username),因此它是您的功能中唯一可用的值。所以它试图找到$ULN->Username->Username$ULN->Username->Nickname。尝试更改代码以仅发送对象$ULN -

echo "Logged in as ".UsernameFun($ULN);

使用函数和函数参数查看变量范围。它将有助于理解为什么作为函数参数传递的内容是函数中唯一可用的值。 http://php.net/manual/en/language.variables.scope.php