2016-07-18 53 views
0

任何幫助在這裏?登錄註銷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>