Files
SunShineMusic/upload_gg.php
2025-09-24 14:15:48 +00:00

132 lines
5.6 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
// gg.php - 公告管理页面
// 数据库连接信息
$servername = "localhost";
$dbUsername = "a1sax1m9i";
$dbPassword = "a1sax1m9i";
$dbName = "a1sax1m9i";
// 创建连接
$conn = new mysqli($servername, $dbUsername, $dbPassword, $dbName);
if ($conn->connect_error) {
die("数据库连接失败: " . $conn->connect_error);
}
$conn->set_charset("utf8mb4");
$message = "";
$messageType = "";
// 处理表单提交
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['action']) && $_POST['action'] == 'add_announcement') {
$nr = trim($_POST["nr"] ?? "");
if (empty($nr)) {
$message = "公告内容不能为空!";
$messageType = "error";
} else {
$stmt = $conn->prepare("INSERT INTO announcements (nr) VALUES (?)");
$stmt->bind_param("s", $nr);
if ($stmt->execute()) {
$message = "公告发布成功!";
$messageType = "success";
header("Location: " . $_SERVER['PHP_SELF']);
exit;
} else {
$message = "发布失败: " . $conn->error;
$messageType = "error";
}
$stmt->close();
}
}
// 查询所有公告
$announcements = [];
$ggResult = $conn->query("SELECT id, nr, time FROM announcements ORDER BY id DESC");
while($row = $ggResult->fetch_assoc()) {
$announcements[] = $row;
}
$conn->close();
?>
<!DOCTYPE html>
<html lang="zh_cn">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>公告管理</title>
<link rel="icon" href="./static/icon/icon.png" type="image/png">
<link rel="alternate icon" href="./static/icon/icon.ico" type="image/x-icon">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<style>
body { font-family: 'Arial', sans-serif; background-color: #f5f5f7; color: #333; margin: 0; padding: 20px; }
.container { max-width: 800px; margin: 0 auto; background-color: #fff; padding: 20px; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
h1, h2 { color: #2c3e50; }
.form-group { margin-bottom: 15px; }
label { display: block; margin-bottom: 8px; font-weight: bold; }
textarea.form-control { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 4px; box-sizing: border-box; min-height: 120px; }
.submit-btn { background-color: #2c3e50; color: white; border: none; padding: 10px 20px; border-radius: 4px; cursor: pointer; font-size: 16px; }
.submit-btn:hover { background-color: #34495e; }
.announcement-list { margin-top: 30px; }
.announcement-item { padding: 15px; border-bottom: 1px solid #eee; }
.announcement-item:last-child { border-bottom: none; }
.announcement-meta { color: #777; font-size: 14px; margin-bottom: 8px; }
.announcement-content { line-height: 1.6; }
.back-link { display: inline-block; margin-top: 20px; color: #2c3e50; text-decoration: none; }
.back-link:hover { text-decoration: underline; }
.message { padding: 10px; margin-bottom: 15px; border-radius: 4px; }
.success { background-color: #d4edda; color: #155724; }
.error { background-color: #f8d7da; color: #721c24; }
</style>
</head>
<body>
<div class="container">
<h1>公告管理</h1>
<!-- 发布公告表单 -->
<div class="recommend-container">
<h2>发布新公告</h2>
<?php if (!empty($message)): ?>
<div class="message <?php echo $messageType; ?>">
<?php echo $message; // 提示信息仍用纯文本 ?>
</div>
<?php endif; ?>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
<input type="hidden" name="action" value="add_announcement">
<div class="form-group">
<label for="nr">公告内容 (支持HTML)</label>
<textarea id="nr" name="nr" class="form-control" placeholder="请输入公告内容,例如:<b>加粗</b>、<a href='https://shanwogou.cn'>链接</a>..." required></textarea>
</div>
<button type="submit" class="submit-btn">发布公告</button>
</form>
</div>
<!-- 历史公告列表 -->
<div class="announcement-list">
<h2>历史公告</h2>
<?php if (empty($announcements)): ?>
<p>暂无历史公告。</p>
<?php else: ?>
<?php foreach($announcements as $ann): ?>
<div class="announcement-item">
<div class="announcement-meta">
<span>ID: <?php echo $ann['id']; ?></span> |
<span>发布时间: <?php echo $ann['time']; ?></span>
</div>
<div class="announcement-content">
<?php
// 核心修改:移除 htmlspecialchars让HTML标签生效
// 保留 nl2br 以正确处理换行符
echo nl2br($ann['nr']);
?>
</div>
</div>
<?php endforeach; ?>
<?php endif; ?>
</div>
<a href="index.php" class="back-link"><i class="fas fa-arrow-left"></i> 返回首页</a>
</div>
</body>
</html>