2016-07-18 4 views
0

Любая помощь здесь?login logout параметр настройки php

<div id="menu"> 
    <ul> 
     <?php 
     echo ''.(!isset($_SESSION['username']) ? '<li><a href="index.php?page=$pgname"><?=ucfirst($pgname)?></a></li>' : 'b'); 
     $pgname="login"; 
     //$pg = "logout"; 
     ?> 
     <li><a href="/">Home</a></li> 
     <li><a href="index.php?page=register">Register</a></li> 
     <li><a href="index.php?page=admin">Admin</a></li> 
     <li><a href="index.php?page=update">Update</a></li> 
     <li><a href="index.php?page=profile">Profile</a></li> 
     <li><a href="index.php?page=$pgname"><?=ucfirst($pgname)?></a></li> 
     <li><a href="index.php?page=$pgname"><?=ucfirst($pgname)?></a></li> 

    </ul> 
</div> 

Я хочу, когда пользователь уже вошел в систему, чтобы распечатать только кнопку меню выхода из системы, а в противном случае, когда есть выход из системы, только журнал, чтобы быть появилось в меню. как я могу это достичь?

ответ

0

Измените свой кусок кода, как показано ниже код,

<?php 
$pagename = !empty($_SESSION['username']) ? 'login' : 'logout'; 
?> 

Удалить последние две строки & изменения в этой

<li><a href="index.php?page=<?php echo $pagename;?>"><?php echo ucfirst($pagename)?></a></li> 

Примечание: не забудьте начать сеанс в первой строке, если текущий код не вызван никаким другим файлом

0

Измените свой код.

<?php 
    if(!isset($_SESSION['username']){ 
     $pgname="login"; 
    }else{ 
     $pgname="logout"; 
    } 
    echo "<li><a href='index.php?page=$pgname'>".ucfirst($pgname)."</a></li>"; 
?> 
0

Это должно работать

<?php 
    $pgname = (!isset($_SESSION['username'])) ? 'login' : 'logout'; 
?> 
<div id="menu"> 
<ul> 
    <li><a href="index.php?page=<?=$pgname?>"><?=ucfirst($pgname)?></a></li> 
    <li><a href="/">Home</a></li> 
    <li><a href="index.php?page=register">Register</a></li> 
    <li><a href="index.php?page=admin">Admin</a></li> 
    <li><a href="index.php?page=update">Update</a></li> 
    <li><a href="index.php?page=profile">Profile</a></li> 
    <li><a href="index.php?page=$pgname"><?=ucfirst($pgname)?></a></li> 
    <li><a href="index.php?page=$pgname"><?=ucfirst($pgname)?></a></li> 

</ul> 
</div> 
0

Держите PHP логики отдельно от HTML. Создайте строку ссылок в PHP. Тогда ниже на странице, когда вы выводите HTML, вывести строку

<?php 
//make sure you've called start_session() already  
$pg = isset($_SESSION['username'])? 'login':'logout'; 
$link_html = '<li><a href="index.php?page='.$pg.'">'.ucfirst($pg).'</a></li>'; 
... 
?> 

<!-- then in html --> 
<?= $link_html ?> 
<li><a href="/">Home</a></li>