上传文件至 /
This commit is contained in:
53
submit_recommendation.php
Normal file
53
submit_recommendation.php
Normal file
@@ -0,0 +1,53 @@
|
||||
<?php
|
||||
// 处理推荐提交的后端接口
|
||||
require 'db_connect.php';
|
||||
|
||||
// 仅处理POST请求
|
||||
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||
$songName = trim($_POST['songName'] ?? '');
|
||||
$artistName = trim($_POST['artistName'] ?? '');
|
||||
$reason = trim($_POST['reason'] ?? '');
|
||||
|
||||
// 获取用户标识
|
||||
function getUserIdentifier() {
|
||||
if (isset($_COOKIE['user_identifier'])) {
|
||||
return $_COOKIE['user_identifier'];
|
||||
}
|
||||
$identifier = uniqid('user_', true);
|
||||
setcookie('user_identifier', $identifier, time() + 365 * 24 * 3600, '/');
|
||||
return $identifier;
|
||||
}
|
||||
$userIdentifier = getUserIdentifier();
|
||||
|
||||
// 验证必填字段
|
||||
if (!empty($songName) && !empty($artistName)) {
|
||||
try {
|
||||
// 插入数据,包含用户标识
|
||||
$sql = "INSERT INTO recommendations (song_name, artist_name, reason, user_identifier, status)
|
||||
VALUES (:song_name, :artist_name, :reason, :user_id, 0)";
|
||||
$stmt = $pdo->prepare($sql);
|
||||
$stmt->bindParam(':song_name', $songName);
|
||||
$stmt->bindParam(':artist_name', $artistName);
|
||||
$stmt->bindParam(':reason', $reason);
|
||||
$stmt->bindParam(':user_id', $userIdentifier);
|
||||
$stmt->execute();
|
||||
|
||||
// 跳转回主页并显示成功消息
|
||||
header('Location: index.html?status=success');
|
||||
exit;
|
||||
} catch(PDOException $e) {
|
||||
// 数据库错误
|
||||
header('Location: index.html?status=error&msg=' . urlencode($e->getMessage()));
|
||||
exit;
|
||||
}
|
||||
} else {
|
||||
// 字段验证失败
|
||||
header('Location: index.html?status=error&msg=歌曲名称和歌手名称为必填项');
|
||||
exit;
|
||||
}
|
||||
} else {
|
||||
// 非POST请求直接跳转回主页
|
||||
header('Location: index.html');
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user