登录和注销时使用数组更改的选项卡

时间:2014-03-21 16:50:41

标签: php tabs

我正在尝试使用数组执行Tab但我无法想到一种方法来更改我的登录选项卡以便在我登录时登录是我的标签脚本

$pages = array (
                 'Home' => 'index.php',
                 'About' => '#',
                 'Contact' => '#',
                 'Register' => 'register.php',
                 'Login' => 'login.php'

        );

        // The page being viewed:
        $this_page = basename($_SERVER['PHP_SELF']);

        // Create each menu item:
        foreach ($pages as $k => $v) {

            // Start the item:
            echo '<li';

            // Add the class if it's the current page:
            if ($this_page == $v) echo ' class="selected"';

            // Complete the item:
            echo '><a href="' . $v . '"><span>' . $k . '</span></a></li>
            ';

        }

1 个答案:

答案 0 :(得分:0)

我将假设你有一个名为isLoggedIn()的函数,如果用户登录则返回true,否则返回false。所有你需要做的我想只是将我的代码中的isLoggedIn()函数更改为你正在使用的任何适当的函数,你可能很好。

你有两种方法可以做到这一点。

首先是创建不带登录链接和注销链接的links数组,然后抛出一个if语句并根据结果将元素推送到数组上。

$pages = array (
    'Home' => 'index.php',
    'About' => '#',
    'Contact' => '#',
    'Register' => 'register.php'
);

if(isLoggedIn()) $pages['Login'] => 'login.php';
else $pages['Logout'] => 'logout.php';

第二种方法是动态加载列表的最后一个元素:

if(isLoggedIn()) {
    $log_link = 'Login';
    $log_href = 'login.php';
}

else {
    $log_link = 'Logout';
    $log_href = 'logout.php';
}

$pages = array (
    'Home' => 'index.php',
    'About' => '#',
    'Contact' => '#',
    'Register' => 'register.php',
    $log_link => $log_href
);

我希望能回答你的问题。