登录注销php设置变量

时间:2016-07-18 13:11:51

标签: 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>

我希望当用户已经登录时只打印注销菜单按钮,否则当注销时,只会在菜单上显示登录。我怎么能实现这个目标?

4 个答案:

答案 0 :(得分:0)

用此更改您的代码。

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

答案 1 :(得分: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>

答案 2 :(得分: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>

答案 3 :(得分:0)

更改您的代码,如下面的代码,

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

删除最后两行&amp;改为

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

注意:如果当前代码未被其他任何文件调用,请不要忘记在第一行开始会话