我正在开发一个具有两种类型用户的项目,即管理员和普通用户。现在我想确保单纯的用户在登录后无法通过输入 admin.php 或任何其他管理页面的 url 来访问管理页面。问题出在我的 login.php 代码上,因为我允许他们都使用相同的代码登录页面标题。我有下面的 login.php,也许可以帮助我如何使用 if 语句来控制它或 session 。
<?php
session_start();
include_once("connect.php");
$un = $_POST['un'];
$pw = $_POST['pw'];
mysql_select_db("pp",$con);
$query = "SELECT * FROM user WHERE user_id='$un' AND password='$pw'";
$result= mysql_query($query);
if ($row = mysql_fetch_array($result))
{
if ($row['role']=="user") {
$_SESSION['user_id']=$row['user_id'];
$_SESSION['loggedIn']=1;
header("Location: employee_home.php");
}
else { header("Location: admin.php");
$_SESSION['loggedIn']=1;}
}
else { header("Location: index.php?log=error");
}
?>
最佳答案
您可以检查角色。
**Type** **Role**
User 1 1(Users)
User 2 2(Admins)
if ($row['role']==1) {
$_SESSION['user_id']=$row['user_id'];
$_SESSION['loggedIn']=1;
header("Location: employee_home.php");
}
else if($row['role']==2) {
header("Location: admin.php");
$_SESSION['loggedIn']=1;}
}
else { header("Location: index.php?log=error");
}
在 admin.php 中,检查用户角色是否为 < 2,然后重定向到错误页面或访问被拒绝页面。
基本上,您还需要在 admin.php 中添加条件。
关于php - 单纯用户的登录控制和管理面板加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27224673/