我希望有人能帮助我解决这个问题。我尝试使用 admin 或 writer 登录管理面板并阻止示例用户登录,但是当我使用此代码时遇到一些问题:
<?php
session_start();
include_once("../include/config.php");
if(isset($_SESSION['id'])) {
$sql = mysqli_query($conn, "SELECT * FROM `users` WHERE `user_id` = '$_SESSION[id]' AND `role` = 'admin' OR 'writer'");
if(mysqli_num_rows($sql) != 1) {
header("Location: ../index.php");
} else {
echo '';
}
} else {
header("Location: ../index.php");
}
此代码让我只能使用管理员登录,而无法使用编写器登录。 当我尝试这样做(“管理员”或“作家”)时,这也让示例用户登录到管理面板,我需要帮助来阻止用户登录到此页面
谢谢。
最佳答案
我认为您缺少一个状况良好的部件。 将其添加到您的代码中:
or `role` = 'writer'
所以应该是这样的:
SELECT * FROM `users` WHERE `user_id` = '$_SESSION[id]' AND `role` = 'admin' OR `role` = 'writer'
关于php - 无法登录管理面板检查是否是管理员或作家,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50239875/