你用PHP写一套云笔记后端源代码
时间: 2024-02-28 08:54:31 浏览: 29
好的,以下是一个基于PHP的云笔记后端的示例代码,供您参考:
```php
<?php
// 连接数据库
$host = "localhost";
$username = "your_username";
$password = "your_password";
$database = "your_database";
$conn = mysqli_connect($host, $username, $password, $database);
// 用户注册
function register($username, $password) {
global $conn;
$password = md5($password); // 使用md5加密密码
$sql = "INSERT INTO users (username, password) VALUES ('$username', '$password')";
mysqli_query($conn, $sql);
}
// 用户登录
function login($username, $password) {
global $conn;
$password = md5($password); // 使用md5加密密码
$sql = "SELECT * FROM users WHERE username='$username' AND password='$password'";
$result = mysqli_query($conn, $sql);
$user = mysqli_fetch_assoc($result);
return $user;
}
// 新建笔记
function create_note($title, $content, $category_id, $user_id) {
global $conn;
$sql = "INSERT INTO notes (title, content, category_id, user_id) VALUES ('$title', '$content', '$category_id', '$user_id')";
mysqli_query($conn, $sql);
}
// 获取笔记列表
function get_note_list($user_id) {
global $conn;
$sql = "SELECT * FROM notes WHERE user_id='$user_id'";
$result = mysqli_query($conn, $sql);
$notes = mysqli_fetch_all($result, MYSQLI_ASSOC);
return $notes;
}
// 获取笔记详情
function get_note_detail($note_id) {
global $conn;
$sql = "SELECT * FROM notes WHERE id='$note_id'";
$result = mysqli_query($conn, $sql);
$note = mysqli_fetch_assoc($result);
return $note;
}
// 删除笔记
function delete_note($note_id) {
global $conn;
$sql = "DELETE FROM notes WHERE id='$note_id'";
mysqli_query($conn, $sql);
}
// 定义API接口
if ($_SERVER['REQUEST_METHOD'] === 'POST' && $_GET['action'] === 'register') {
$username = $_POST['username'];
$password = $_POST['password'];
register($username, $password);
} elseif ($_SERVER['REQUEST_METHOD'] === 'POST' && $_GET['action'] === 'login') {
$username = $_POST['username'];
$password = $_POST['password'];
$user = login($username, $password);
echo json_encode($user);
} elseif ($_SERVER['REQUEST_METHOD'] === 'POST' && $_GET['action'] === 'create_note') {
$title = $_POST['title'];
$content = $_POST['content'];
$category_id = $_POST['category_id'];
$user_id = $_POST['user_id'];
create_note($title, $content, $category_id, $user_id);
} elseif ($_SERVER['REQUEST_METHOD'] === 'GET' && $_GET['action'] === 'get_note_list') {
$user_id = $_GET['user_id'];
$notes = get_note_list($user_id);
echo json_encode($notes);
} elseif ($_SERVER['REQUEST_METHOD'] === 'GET' && $_GET['action'] === 'get_note_detail') {
$note_id = $_GET['note_id'];
$note = get_note_detail($note_id);
echo json_encode($note);
} elseif ($_SERVER['REQUEST_METHOD'] === 'POST' && $_GET['action'] === 'delete_note') {
$note_id = $_POST['note_id'];
delete_note($note_id);
}
?>
```
这是一个简单的示例代码,仅供参考。实际项目中需要考虑更多的安全性和性能优化问题,比如SQL注入、XSS攻击等。如果您需要更完整的代码,可以在网上查找相关的开源项目或者使用框架来实现。