php登录页面实现管理员与普通用户登录并区分
时间: 2023-12-18 16:02:19 浏览: 218
要实现管理员与普通用户登录并区分,可以在登录页面添加一个角色选项,让用户选择自己的角色。然后在后台对该角色进行验证。
具体实现步骤如下:
1. 创建一个登录页面,包含用户名、密码和角色选项。
2. 建立一个用户表,存储所有用户的信息,包括用户名、密码和角色。
3. 在登录页面的后台,获取用户输入的用户名、密码和角色,然后验证用户信息是否正确。
4. 如果用户信息正确,根据用户角色的不同,将用户重定向到不同的页面。
例如,如果用户是管理员,则重定向到管理员页面;如果用户是普通用户,则重定向到普通用户页面。
以下是一个简单的 PHP 登录页面实现管理员与普通用户登录并区分的示例代码:
```php
<?php
session_start();
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$username = $_POST['username'];
$password = $_POST['password'];
$role = $_POST['role'];
// 验证用户信息
if (check_user($username, $password, $role)) {
// 根据用户角色重定向到不同的页面
if ($role == 'admin') {
header('Location: admin.php');
exit;
} else {
header('Location: user.php');
exit;
}
} else {
echo '用户名或密码错误';
}
}
function check_user($username, $password, $role) {
// 查询用户信息
// 这里使用了假数据,实际应该从数据库中查询
$users = array(
array('username' => 'admin', 'password' => 'admin123', 'role' => 'admin'),
array('username' => 'user', 'password' => 'user123', 'role' => 'user')
);
foreach ($users as $user) {
if ($user['username'] == $username && $user['password'] == $password && $user['role'] == $role) {
$_SESSION['username'] = $username;
$_SESSION['role'] = $role;
return true;
}
}
return false;
}
?>
<!DOCTYPE html>
<html>
<head>
<title>登录页面</title>
</head>
<body>
<form method="post" action="">
<label>用户名:</label><input type="text" name="username" /><br />
<label>密码:</label><input type="password" name="password" /><br />
<label>角色:</label>
<select name="role">
<option value="admin">管理员</option>
<option value="user">普通用户</option>
</select><br />
<input type="submit" value="登录" />
</form>
</body>
</html>
```
在上面的代码中,我们使用了假数据来模拟用户数据,实际应该从数据库中查询。另外,我们还使用了 session 来保存用户信息,方便在其他页面中使用。