php实现网站公告
PHP实现网站公告的方法
数据库存储公告内容
创建数据库表存储公告信息,包含标题、内容、发布时间等字段。使用MySQL或其他数据库管理系统进行数据存储。
CREATE TABLE announcements (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
content TEXT NOT NULL,
publish_date DATETIME DEFAULT CURRENT_TIMESTAMP,
is_active BOOLEAN DEFAULT TRUE
);
后台管理界面
开发管理员后台页面,提供公告的添加、编辑、删除功能。使用PHP处理表单提交,将数据存入数据库。
// 添加公告处理代码示例
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$title = $_POST['title'];
$content = $_POST['content'];
$stmt = $pdo->prepare("INSERT INTO announcements (title, content) VALUES (?, ?)");
$stmt->execute([$title, $content]);
}
前端展示公告
从数据库获取最新公告并在网站前端展示。可以使用AJAX实现无刷新加载。
// 获取最新公告代码示例
$stmt = $pdo->query("SELECT * FROM announcements WHERE is_active = TRUE ORDER BY publish_date DESC LIMIT 1");
$announcement = $stmt->fetch(PDO::FETCH_ASSOC);
公告样式设计
使用CSS为公告添加醒目样式,如浮动提示框、顶部横幅等。确保公告在页面中明显但不影响正常浏览。
.announcement {
background-color: #fff8e1;
border-left: 4px solid #ffc107;
padding: 15px;
margin-bottom: 20px;
}
定时自动关闭功能
为公告添加过期时间或关闭按钮,允许用户手动关闭公告。可以使用JavaScript实现交互功能。
document.getElementById('close-announcement').addEventListener('click', function() {
document.getElementById('announcement-box').style.display = 'none';
});
多公告轮播显示
如果需要显示多条公告,可以实现轮播效果。使用PHP获取多条记录,JavaScript实现轮播切换。
$stmt = $pdo->query("SELECT * FROM announcements WHERE is_active = TRUE ORDER BY publish_date DESC LIMIT 5");
$announcements = $stmt->fetchAll(PDO::FETCH_ASSOC);
权限控制
确保只有管理员可以发布和编辑公告。在PHP代码中添加权限验证逻辑。
session_start();
if (!isset($_SESSION['admin']) || !$_SESSION['admin']) {
header('Location: /login.php');
exit;
}






