php - 登录时隐藏登录/注册按钮,注销时隐藏注销按钮

标签 php html

我是 PHP 的新手,我遇到了一些问题。当我登录我的网站时,我想隐藏“登录”和“注册”按钮,当我注销时,我想隐藏“注销”按钮。

这是我的 login.php 页面:

<?php
    include "navbar.php";
?>
<?php
    include_once "check.php";

    $error = ""; //Variable for storing our errors.
    if(isset($_POST["submit"]))
    {
        if(empty($_POST["username"]) || empty($_POST["password"]))
        {
            $error = "Both fields are required.";
        }else
        {
            // Define $username and $password
            $username=$_POST['username'];
            $password=$_POST['password'];

            // To protect from MySQL injection
            $username = stripslashes($username);
            $password = stripslashes($password);
            $username = mysqli_real_escape_string($db, $username);
            $password = mysqli_real_escape_string($db, $password);
            $password = md5($password);

            //Check username and password from database
            $sql="SELECT uid FROM users WHERE username='$username' and password='$password'";
            $result=mysqli_query($db,$sql);
            $row=mysqli_fetch_array($result,MYSQLI_ASSOC);

            //If username and password exist in our database then create a session.
            //Otherwise echo error.

            if(mysqli_num_rows($result) == 1)
            {
                $_SESSION['username'] = $username;
                header("location: index.php");
            }else
            {
                $error = "Incorrect username or password.";
            }

        }
    }

?>
<html>
    <head>
        <link rel="stylesheet" type="text/css" href="assets/css/acc.css">
        <link rel="stylesheet" type="text/css" href="assets/css/acc2.css">
        <link rel="stylesheet" type="text/css" href="assets/css/navbar.css">
        <title>Login | Peerbolte-ICT</title>
    </head>
    </body>
        <section>
        <p style="color:red;"><?php echo $error; ?> </p>
            <form method="POST" action="">
                <div class="accPanel">
                <h1 style="color: black; padding-bottom: 5%;">Login</h1>
                <form method="POST" action="">
                    <div class="login-input">
                        <label class="accLabel"><b>Username<span style="color:red;">*</span></b></label>
                        <input type="text" placeholder="Enter Username" name="username" required>

                        <label class="accLabel"><b>Password<span style="color:red;">*</span></b></label>
                        <input type="password" placeholder="Enter Password" name="password" required>

                        <button class="submitButton" type="submit" name="submit">Login</button>
                    </div>
                </form>
            </div>
        </section>
    </body>
</html>

这是我的 navbar.php,其中的按钮是:

<ul>
  <li><a href="index.php">Home</a></li>
  <li><a href="#bannerTwo">Services</a></li>
  <li class="dropdown">
    <a href="javascript:void(0)" class="dropbtn">Our Work</a>
    <div class="dropdown-content">
      <a href="#">Link 1</a>
      <a href="#">Link 2</a>
      <a href="#">Link 3</a>
    </div>
  </li>
  <li class="dropdown">
    <a href="javascript:void(0)" class="dropbtn">Account</a>
    <div class="dropdown-content">
      <a href="login.php">Login</a>
      <a href="register.php">Register</a>
      <a href="logout.php">Logout</a>
    </div>
  </li>
</ul>

谢谢

最佳答案

您可以根据条件显示您的链接。检查 session 如果用户登录你得到 session 基于那个逻辑的值你可以把条件如下:

<?php if( isset($_SESSION['username']) && !empty($_SESSION['username']) )
{
?>
      <a href="logout.php">Logout</a>
<?php }else{ ?>
     <a href="login.php">Login</a>
     <a href="register.php">Register</a>
<?php } ?>

注意:让您在文件中开始 session 。

关于php - 登录时隐藏登录/注册按钮,注销时隐藏注销按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44431427/

相关文章:

php - PostgreSQL 原始 SQL 插入 (Laravel 5.5)

jquery 幻灯片不会循环播放不止一次

html - 为什么在设置大量数据时隐藏输入

javascript - 如何通过 JavaScript 设置输入隐藏字段的值?

html - 元素相互漂浮,即使它们是 block ?

html - 位置固定下拉菜单

php - mysqli_real_escape_string 存在漏洞

php - 使用空格而不是制表符进行缩进的客观原因?

php - 在 Windows 上安装 Symfony 2

php - 数据库凭证安全性 - 存储在 PHP 中还是通过邮件传递?