我是 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/