php登录页面实现管理员与普通用户登录并区分
时间: 2024-02-04 17:02:59 浏览: 24
要实现管理员与普通用户登录并区分,可以通过以下步骤:
1. 创建一个用户表,表中包含用户ID、用户名、密码、用户类型等字段。
2. 在登录页面中添加一个下拉框,让用户选择登录类型,例如管理员或普通用户。
3. 用户输入用户名和密码后,通过查询用户表获取用户信息,包括用户类型。
4. 根据用户类型的不同,展示不同的页面或功能。例如,如果是管理员登录,则可以进入管理后台,如果是普通用户登录,则可以进入普通用户页面。
以下是一个 PHP 登录页面实现管理员与普通用户登录并区分的示例代码:
```
<?php
session_start();
if(isset($_POST['submit'])){
$username = $_POST['username'];
$password = $_POST['password'];
$usertype = $_POST['usertype'];
//连接数据库,查询用户信息
$conn = mysqli_connect('localhost','root','password','dbname');
$sql = "SELECT * FROM user WHERE username='$username' AND password='$password' AND usertype='$usertype'";
$result = mysqli_query($conn,$sql);
//判断用户是否存在
if(mysqli_num_rows($result)==1){
$row = mysqli_fetch_assoc($result);
//保存用户信息到 Session 中
$_SESSION['userid'] = $row['id'];
$_SESSION['username'] = $row['username'];
$_SESSION['usertype'] = $row['usertype'];
//跳转到不同的页面
if($usertype=='admin'){
header('Location: admin.php');
}else{
header('Location: user.php');
}
}else{
echo "用户名或密码错误!";
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>登录页面</title>
</head>
<body>
<form method="post">
<label>用户名:</label>
<input type="text" name="username"><br>
<label>密码:</label>
<input type="password" name="password"><br>
<label>用户类型:</label>
<select name="usertype">
<option value="admin">管理员</option>
<option value="user">普通用户</option>
</select><br>
<input type="submit" name="submit" value="登录">
</form>
</body>
</html>
```
在上面的代码中,通过 $_POST[] 获取用户输入的用户名、密码和用户类型,然后通过 SQL 语句查询用户表中是否存在该用户,并且用户类型是否正确。如果查询到该用户,就将用户信息保存到 Session 中,并且根据用户类型跳转到不同的页面。如果查询不到该用户,则提示用户名或密码错误。