08-12-周三_16-44-56
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
// 接受数据,并且提取出action
|
||||
$data = json_decode(file_get_contents('php://input'), true);
|
||||
$action = $data['action'] ?? '';
|
||||
|
||||
include 'db.php';
|
||||
|
||||
// 如果数据库连接失败,则返回错误信息
|
||||
/** @var mysqli $conn */
|
||||
if (!isset($conn)) {
|
||||
echo json_encode(['code' => 10004, 'status' => 'error', 'message' => '数据库连接失败']);
|
||||
exit;
|
||||
}
|
||||
|
||||
// 判断是否admin登录
|
||||
session_start();
|
||||
if (!isset($_SESSION['username'])) {
|
||||
echo "<script>alert('请登录');setTimeout(function(){location.href='login.html';},1000);</script>";
|
||||
exit;
|
||||
}
|
||||
if ($_SESSION['username'] != 'admin') {
|
||||
echo "<script>alert('请登录管理员账号');setTimeout(function(){location.href='login.html';},1000);</script>";
|
||||
exit;
|
||||
}
|
||||
|
||||
// 获取所有的用户信息
|
||||
if($action=='getUsers'){
|
||||
$sql = "select * from users";
|
||||
$result = mysqli_query($conn, $sql);
|
||||
$users = mysqli_fetch_all($result, MYSQLI_ASSOC);
|
||||
echo json_encode($users);
|
||||
}
|
||||
?>
|
||||
@@ -5,6 +5,7 @@ $action = $data['action'] ?? '';
|
||||
|
||||
// 处理与用户相关的操作
|
||||
include 'db.php';
|
||||
session_start();
|
||||
|
||||
// 如果数据库连接失败,则返回错误信息
|
||||
/** @var mysqli $conn */
|
||||
@@ -16,7 +17,7 @@ if (!isset($conn)) {
|
||||
// 测试用户名是否已存在
|
||||
function testUsername(mysqli $conn, string $username): bool
|
||||
{
|
||||
$sql = "select * from users where username = '$username'"; // sql注入风险
|
||||
$sql = "select * from users where username = '$username' and status = 1"; // sql注入风险
|
||||
$result = mysqli_query($conn, $sql);
|
||||
if (mysqli_num_rows($result) > 0) {
|
||||
return true;
|
||||
@@ -30,15 +31,16 @@ if ($action == 'register') {
|
||||
$username = $data['username'];
|
||||
$password = $data['password'];
|
||||
$email = $data['email'];
|
||||
$role = isset($data['role']) ? $data['role'] : 'user';
|
||||
if (testUsername($conn, $username)) {
|
||||
echo json_encode(['code' => 10001, 'status' => 'error', 'message' => '用户名已存在']);
|
||||
} else {
|
||||
$sql = "insert into users (username, password, email) values ('$username', '$password', '$email')";
|
||||
$sql = "insert into users (username, password, email, role) values ('$username', '$password', '$email', '$role')";
|
||||
$result = mysqli_query($conn, $sql);
|
||||
if ($result) {
|
||||
echo json_encode(['code' => 0, 'status' => 'success', 'message' => '注册成功']);
|
||||
} else {
|
||||
echo json_encode(['code' => 10002, 'status' => 'error', 'message' => '注册失败']);
|
||||
echo json_encode(['code' => 10002, 'status' => 'error', 'message' => '注册失败', 'sql'=>$sql]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -51,7 +53,36 @@ if ($action == 'login') {
|
||||
$result = mysqli_query($conn, $sql);
|
||||
if (mysqli_num_rows($result) > 0) {
|
||||
echo json_encode(['code' => 0, 'status' => 'success', 'message' => '登录成功']);
|
||||
$_SESSION['username'] = $username;
|
||||
} else {
|
||||
echo json_encode(['code' => 10003, 'status' => 'error', 'message' => '用户名或密码错误']);
|
||||
}
|
||||
}
|
||||
|
||||
// delete的逻辑
|
||||
if ($action == 'delete') {
|
||||
$id = $data['id'];
|
||||
$sql = "update users set status = 0 where id = $id";
|
||||
$result = mysqli_query($conn, $sql);
|
||||
if ($result) {
|
||||
echo json_encode(['code' => 0, 'status' => 'success', 'message' => '删除成功']);
|
||||
} else {
|
||||
echo json_encode(['code' => 10005, 'status' => 'error', 'message' => '删除失败']);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// update的逻辑
|
||||
if ($action == 'update') {
|
||||
$id = $data['id'];
|
||||
$username = $data['username'];
|
||||
$email = $data['email'];
|
||||
$role = $data['role'];
|
||||
$sql = "update users set username = '$username', email = '$email', role = '$role' where id = $id";
|
||||
$result = mysqli_query($conn, $sql);
|
||||
if ($result) {
|
||||
echo json_encode(['code' => 0, 'status' => 'success', 'message' => '更新成功']);
|
||||
} else {
|
||||
echo json_encode(['code' => 10006, 'status' => 'error', 'message' => '更新失败']);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user