settings.php5.6 KB
<?php
require 'config.php';
$page_title = "系统设置";
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
foreach ($_POST['settings'] as $key => $value) {
$stmt = $pdo->prepare("INSERT INTO settings (setting_key, setting_value) VALUES (:k, :v)
ON DUPLICATE KEY UPDATE setting_value = :v2");
$stmt->execute([':k' => $key, ':v' => $value, ':v2' => $value]);
}
header('Location: settings.php?msg=saved'); exit;
}
$stmt = $pdo->query("SELECT * FROM settings");
$settings = [];
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$settings[$row['setting_key']] = $row['setting_value'];
}
ob_start();
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>评论管理</title>
<style>
</style>
</head>
<body>
<div class="overlay" id="overlay"></div>
<!-- 侧边栏 -->
<?php require_once __DIR__ . '/views/sidebar.php'; ?>
<!-- 主内容区 -->
<div class="main-wrapper">
<?php require_once __DIR__ . '/views/header.php'; ?>
<main class="content-area">
<div class="page-header">
<h1 class="page-title">数据概览</h1>
<button class="btn-primary"><a href="post_edit.php">+ 撰写新文章</a></button>
</div>
<style>
/* ========== 设置表单卡片 ========== */
.settings-form-card {
background: #ffffff;
border-radius: 12px;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
padding: 30px;
margin-bottom: 30px;
border: 1px solid #eef2f6;
}
/* ========== Grid 双列布局 ========== */
.settings-grid {
display: grid;
grid-template-columns: 1fr 1fr; /* 默认两列平分 */
gap: 20px; /* 列与列、行与行之间的间距 */
}
/* 让 SEO 描述横跨两列 */
.settings-grid .full-width {
grid-column: span 2;
}
/* 手机端自动变单列 */
@media (max-width: 600px) {
.settings-grid {
grid-template-columns: 1fr;
}
.settings-grid .full-width {
grid-column: span 1;
}
}
/* ========== 表单元素通用样式 ========== */
.settings-form-card .form-group { margin-bottom: 0; } /* Grid 已处理间距,取消默认的 margin-bottom */
.settings-form-card .form-group label {
display: block;
margin-bottom: 8px;
font-weight: 600;
color: #4a5568;
font-size: 14px;
}
.settings-form-card .form-control {
width: 100%;
padding: 12px 15px;
border: 1px solid #d1d9e6;
border-radius: 8px;
font-size: 15px;
color: #333;
background-color: #fafbfc;
transition: all 0.3s ease;
box-sizing: border-box;
}
.settings-form-card .form-control:focus {
outline: none;
border-color: #4a90e2;
background-color: #fff;
box-shadow: 0 0 0 4px rgba(74, 144, 226, 0.1);
}
/* Textarea 专属样式 */
.settings-form-card textarea.form-control {
resize: vertical;
min-height: 80px;
line-height: 1.5;
}
/* ========== 按钮样式 ========== */
.settings-form-card .btn-primary {
padding: 12px 24px;
border: none;
border-radius: 8px;
font-size: 15px;
font-weight: 600;
cursor: pointer;
transition: all 0.3s ease;
background: linear-gradient(135deg, #4a90e2, #357abd);
color: #fff;
margin-top: 25px; /* 按钮与表单的间距 */
}
.settings-form-card .btn-primary:hover {
background: linear-gradient(135deg, #357abd, #2a629e);
transform: translateY(-1px);
}
/* ========== 提示信息 ========== */
.alert-success {
background-color: #e6f9ee;
color: #1e7e34;
border: 1px solid #b2e6c4;
padding: 12px 18px;
border-radius: 8px;
margin-bottom: 20px;
font-weight: 600;
display: flex;
align-items: center;
gap: 8px;
max-width: 700px;
}
</style>
<!-- 提示信息 -->
<?php if(isset($_GET['msg'])): ?>
<div class="alert-success">✅ 设置已保存!</div>
<?php endif; ?>
<!-- ================= 设置表单 ================= -->
<div class="settings-form-card">
<form method="POST">
<!-- 引入 Grid 容器 -->
<div class="settings-grid">
<div class="form-group">
<label for="site_name">网站名称</label>
<input type="text" id="site_name" name="settings[site_name]" class="form-control"
value="<?php echo htmlspecialchars($settings['site_name'] ?? ''); ?>">
</div>
<div class="form-group">
<label for="copyright">版权信息</label>
<input type="text" id="copyright" name="settings[copyright]" class="form-control"
value="<?php echo htmlspecialchars($settings['copyright'] ?? ''); ?>">
</div>
<!-- 跨两列显示 -->
<div class="form-group full-width">
<label for="seo_desc">SEO 描述</label>
<textarea id="seo_desc" name="settings[seo_desc]" rows="3" class="form-control"><?php echo htmlspecialchars($settings['seo_desc'] ?? ''); ?></textarea>
</div>
</div>
<button type="submit" class="btn-primary">💾 保存设置</button>
</form>
</div>
</main>
</div>
<?php require_once __DIR__ . '/views/footer.php'; ?>
</body>
</html>