使用 account 进行登录验证,可适配“用户名、邮箱、手机号码”进行登录; 若账号不存在,返回“code:500, msg:用户不存在” 提示。
时间: 2024-02-26 18:56:26 浏览: 44
好的,下面是一个基于你的要求写的 PHP 代码示例:
```php
<?php
// 假设用户输入的账号和密码分别为 $account 和 $password
// 连接数据库
$conn = mysqli_connect("localhost", "username", "password", "database_name");
// 查询用户信息
$query = "SELECT * FROM users WHERE username='$account' OR email='$account' OR phone='$account' LIMIT 1";
$result = mysqli_query($conn, $query);
// 判断查询结果是否为空
if (mysqli_num_rows($result) == 0) {
// 用户不存在,返回错误提示
$response = array('code' => 500, 'msg' => '用户不存在');
echo json_encode($response);
} else {
// 获取用户信息
$user = mysqli_fetch_assoc($result);
$hashed_password = $user['password'];
// 检测密码是否匹配
if (md5($password) != $hashed_password) {
// 密码不匹配,返回错误提示
$response = array('code' => 501, 'msg' => '用户名密码错误');
echo json_encode($response);
} else {
// 登录成功,将用户信息写入 session
session_start();
$_SESSION['user'] = $user;
// 返回成功提示和用户信息
$response = array('code' => 200, 'msg' => '登录成功!', 'res' => array('data' => $user));
echo json_encode($response);
}
}
// 关闭数据库连接
mysqli_close($conn);
?>
```
需要注意的是,在查询数据库时,使用了 OR 进行多条件查询,以适配用户名、邮箱、手机号码进行登录。此外,还需要对传入的账号和密码进行过滤和验证,以避免 SQL 注入等安全问题。
阅读全文