javascript 如何在 PHP 的 HTML 页面中动态更改登录和注销链接?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/19721614/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-27 16:36:36  来源:igfitidea点击:

How to change login and logout links dynamically in HTML page in PHP?

javascriptphphtmlforms

提问by pratim_b

I have the following HTML code. I have 2 php files: login.php and logout.php. When any user first comes to my page, I would like him to see the login link. After clicking log in (which I will process with my login.php file) I want to change that login link to logout (and on click of that logout.php file will be processed)

我有以下 HTML 代码。我有 2 个 php 文件:login.php 和 logout.php。当任何用户第一次访问我的页面时,我希望他看到登录链接。单击登录(我将用我的 login.php 文件处理)后,我想将该登录链接更改为注销(单击该 logout.php 文件将被处理)

In the following code, how could I dynamically change login and logout links? Currently I have given 2 different links for login and logout which is not a good idea.

在以下代码中,如何动态更改登录和注销链接?目前我提供了 2 个不同的登录和注销链接,这不是一个好主意。

<header class="group">
    <nav class="group">         
        <ul>
          <li><a href="register.php" title="">Register</a></li>
          <li><a href="login.php" title="">Login</a></li>   
              <li><a href="logout.php" title="">Logout</a></li>             
        </ul>
    </nav>
</header>

回答by Nauphal

Try this.

试试这个。

You need to set a variable $logged_userto identify whether the user is logged in or not

需要设置一个变量$logged_user来标识用户是否登录

<header class="group">
<nav class="group">         
    <ul>
        <?php if ($logged_user) { ?>
            <li><a href="logout.php" title="">Logout</a></li>             
        <?php } else { ?>
            <li><a href="register.php" title="">Register</a></li>
            <li><a href="login.php" title="">Login</a></li>   

        <?php } ?>
    </ul>
</nav>

回答by pratim_b

I am assuming you are using a session to check whether user logged in or not. If not, create a session variable and set once logged in. Clear the session variable on log out. So you can check

我假设您正在使用会话来检查用户是否登录。如果没有,请创建一个会话变量并在登录后设置。注销时清除会话变量。所以你可以检查

if(isset($_SESSION['logged_in'])){
//your logout link
}else{
//your login link
}

回答by Karuppiah RK

 <?php 
        if ($signout) 
        { 
            echo "<li><a href=logout.php >Logout</a></li>";
        } 
        else 
        { 
            echo "<li><a href=register.php >Register</a></li>";
            echo "<li><a href=login.php >Login</a></li>";
        } 
?>

回答by deepak kumar

<?php 
    if(isset($_SESSION['user_id'])) { 
        echo "<form method='POST' action='".userLogout()."'>";  ?>
            <li><button type="submit" name="userlogout" id="logout-button" class="button-logout">LOGOUT</button></li>

<?php } else { ?>
        <li><a href="login">LOGIN</a></li>
    </form>
<?php }
?>