PHP 我想将导航栏中的按钮限制为仅限管理员用户使用
PHP I want to restrict a button in the navbar to Admin users only
目前正在制作一个博客网站,想在导航栏中添加一个管理员锁定按钮,以允许他们删除用户,只有 1 个管理员的用户名是“Admin”。
现在我有这样的东西:
<nav class="navbar">
<p class="logo">BLOG</p>
<ul class="navbar-list">
<?php
if(isset($_SESSION['username'] == "Admin"))
{
echo ($_SESSION["username"]),
'
<li class="navbar-item"><a href="index.php">Home</a></li>
<li class="navbar-item"><a href="adminpage.php">master</a></li>
<li class="navbar-item">
<form action="includes/logout.php" method="POST">
<button class="btn btn-logout" type="submit" name="submit">Logout</button>
</form>
</li>
';
}
else if (isset($_SESSION['username'])) {
echo ($_SESSION["username"]),
'
<li class="navbar-item"><a href="index.php">Home</a></li>
<li class="navbar-item">
<form action="includes/logout.php" method="POST">
<button class="btn btn-logout" type="submit" name="submit">Logout</button>
</form>
</li>
';
} else {
echo '
<li class="navbar-item"><a href="index.php">Home</a></li>
<li class="navbar-item"><a href="signup.php">Sign Up</a></li>
<li class="navbar-item"><a href="login.php">Sign In</a></li>
';
}
?>
</ul>
</nav>
我不断收到此错误致命错误:无法在 C:\xampp\htdocs\pdo-blog-master\includes\navbar 中对表达式的结果使用 isset()(您可以改用“null !== 表达式”) .php 第 12 行
任何帮助将不胜感激。
你这里有一个错误:
if (isset($_SESSION['username'] == "Admin"))
您正在尝试检查表达式的结果是否已设置(真或假),但这不起作用,因为 isset()
不能那样使用。
https://www.php.net/manual/en/function.isset.php
将其更改为:
if (isset($_SESSION['username']) && $_SESSION['username'] === "Admin")
目前正在制作一个博客网站,想在导航栏中添加一个管理员锁定按钮,以允许他们删除用户,只有 1 个管理员的用户名是“Admin”。
现在我有这样的东西:
<nav class="navbar">
<p class="logo">BLOG</p>
<ul class="navbar-list">
<?php
if(isset($_SESSION['username'] == "Admin"))
{
echo ($_SESSION["username"]),
'
<li class="navbar-item"><a href="index.php">Home</a></li>
<li class="navbar-item"><a href="adminpage.php">master</a></li>
<li class="navbar-item">
<form action="includes/logout.php" method="POST">
<button class="btn btn-logout" type="submit" name="submit">Logout</button>
</form>
</li>
';
}
else if (isset($_SESSION['username'])) {
echo ($_SESSION["username"]),
'
<li class="navbar-item"><a href="index.php">Home</a></li>
<li class="navbar-item">
<form action="includes/logout.php" method="POST">
<button class="btn btn-logout" type="submit" name="submit">Logout</button>
</form>
</li>
';
} else {
echo '
<li class="navbar-item"><a href="index.php">Home</a></li>
<li class="navbar-item"><a href="signup.php">Sign Up</a></li>
<li class="navbar-item"><a href="login.php">Sign In</a></li>
';
}
?>
</ul>
</nav>
我不断收到此错误致命错误:无法在 C:\xampp\htdocs\pdo-blog-master\includes\navbar 中对表达式的结果使用 isset()(您可以改用“null !== 表达式”) .php 第 12 行
任何帮助将不胜感激。
你这里有一个错误:
if (isset($_SESSION['username'] == "Admin"))
您正在尝试检查表达式的结果是否已设置(真或假),但这不起作用,因为 isset()
不能那样使用。
https://www.php.net/manual/en/function.isset.php
将其更改为:
if (isset($_SESSION['username']) && $_SESSION['username'] === "Admin")