函数返回字符串并希望在导航栏中显示它

时间:2013-08-16 15:30:26

标签: php

我有一个名为“login_status()”的函数,它内部有另一个函数来检查用户是否登录并根据登录状态返回文本:

 function login_status() {
        if (logged_in()) {
            echo $log_status = "Sign Out";
        }
        else {
            echo $log_status = "Sign In";
        }
    }

该功能位于文件中,该文件包含在所有页面中。 如何在我的所有页面的导航栏中显示函数返回字符串“注销”或“登录”?

我的导航条形码位于名为header.php的文件中,并且与页脚一样包含在所有页面中。

该功能正常,我只需要知道如何在导航栏中显示回显文本。

2 个答案:

答案 0 :(得分:0)

您可以使用输出缓冲并捕获echo来电:

ob_start();
login_status();
$o = ob_get_clean();
if ($o === "Sign In") {
    // signed in
}

或者,您可以编写好的代码;)

输出缓冲在这里工作,但这当然不是很好的软件设计。

答案 1 :(得分:0)

在功能

中使用return代替echo
function login_status() 
{
    if (logged_in()) {
        $log_status = "Sign Out";
    }
    else {
        $log_status = "Sign In";
    }
    return $log_status;
}

得到它:

<div>
    <?php echo login_status(); ?>
</div>