我正在开发一个有两种类型用户的项目,即管理员和单纯用户。现在我想确保用户无法通过输入admin.php或任何其他管理页面的URL来访问管理页面。问题出在我的login.php代码上,我允许他们两个都使用相同的登录页面标题。我有下面的login.php,也许可以帮助我如何使用我的if语句控制那个或会话。
<?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");
}
?>
答案 0 :(得分:1)
您可以查看角色。
**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中,检查用户角色是否为&lt; 2然后,重定向到错误页面或访问被拒绝的页面。
基本上,您还需要在admin.php中添加条件。
答案 1 :(得分:0)
复制
<?php
session_name('MyAdminSession');
session_start();
if (isset($_POST['userid']) && isset($_POST['password'])) {
$userid = $_POST['userid'];
$password = md5($_POST['password']);
if ($userid == 'myusername' && $password == md5('mypassword')) {
$_SESSION['logged_in'] = true;
header('location: admin.php');
exit;
}
}
?>