Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在登录和注销时使用数组更改选项卡_Php_Tabs - Fatal编程技术网

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

Php 在登录和注销时使用数组更改选项卡,php,tabs,Php,Tabs,我正在尝试使用数组做Tab,但是当我登录时,我想不出一种方法来将我的登录选项卡更改为注销。这里是我的选项卡脚本 $pages = array ( 'Home' => 'index.php', 'About' => '#', 'Contact' => '#', 'Register' => 'register.php',

我正在尝试使用数组做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>
            ';

        }
$pages=数组(
“Home”=>“index.php”,
“关于”=>“#”,
“联系人”=>“#”,
'Register'=>'Register.php',
'Login'=>'Login.php'
);
//正在查看的页面:
$this_page=basename($_SERVER['PHP_SELF']);
//创建每个菜单项:
foreach($k=>v页){
//启动项目:

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

你有两种方法

第一种方法是创建链接数组,既不包含登录链接也不包含注销链接,然后抛出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
);

我希望这能回答你的问题。

我遇到了一个错误解析错误:语法错误,第28行的C:\wamp\www\practice\includes\header.html中意外的T\u双箭头。你能给我看一下第28行和前后的几行吗?