-3

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

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

该函数位于一个文件中,并且该文件包含在所有页面上。如何在所有页面的导航栏中显示函数返回的字符串“退出”或“登录”?

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

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

4

2 回答 2

0

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

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

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

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

于 2013-08-16T15:31:46.300 回答
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>
于 2013-08-16T15:32:00.880 回答