在开发内容管理系统(CMS)时,站点公告是不可或缺的功能模块。通过此功能,网站管理员能够方便地发布、编辑和删除公告,确保重要信息及时传达给用户。本文将结合PHP代码示例,带您一步步实现CMS系统中的站点公告功能。
首先需要设计数据库表用于存储公告信息。可以创建一个名为announcements的表,包含如下字段:
创建用于显示所有公告的页面,方便管理和查看。以下是公告列表页面announcement_list.php的示例代码:
<?php // 连接数据库 $conn = mysqli_connect("localhost", "root", "password", "cms_db"); // 查询所有公告信息 $query = "SELECT * FROM announcements ORDER BY created_at DESC"; $result = mysqli_query($conn, $query); ?> <!DOCTYPE html> <html> <head> <title>站点公告</title> </head> <body> <h1>站点公告</h1> <a href="announcement_create.php">发布新公告</a> <hr> <?php // 遍历公告列表 while ($row = mysqli_fetch_assoc($result)) { ?> <h2>= $row['title'] ?></h2> <p>= $row['content'] ?></p> <p>发布时间:= $row['created_at'] ?></p> <hr> <?php } ?> </body> </html> <?php // 关闭数据库连接 mysqli_close($conn); ?>
为了添加新公告,创建一个公告发布页面announcement_create.php,代码如下:
<?php if ($_SERVER['REQUEST_METHOD'] == "POST"){ // 获取表单提交数据 $title = $_POST['title']; $content = $_POST['content']; // 连接数据库 $conn = mysqli_connect("localhost", "root", "password", "cms_db"); // 插入新公告数据 $query = "INSERT INTO announcements (title, content) VALUES ('$title', '$content')"; mysqli_query($conn, $query); // 关闭数据库连接 mysqli_close($conn); // 跳转回公告列表页 header("Location: announcement_list.php"); exit(); } ?> <!DOCTYPE html> <html> <head> <title>发布新公告</title> </head> <body> <h1>发布新公告</h1> <hr> <form method="POST" action=""> <label for="title">标题:</label> <input type="text" id="title" name="title" required><br><br> <label for="content">内容:</label><br> <textarea id="content" name="content" rows="5" required></textarea><br><br> <input type="submit" value="发布"> </form> </body> </html>
通过以上步骤,我们完成了一个简洁实用的CMS站点公告功能。管理员可在后台发布公告,前台页面实时展示,确保用户及时获取重要信息。根据实际需求,还可扩展公告编辑、删除等功能,使公告管理更加完善。
本文示例代码结构清晰,便于理解和二次开发,适合初学者和中小型CMS项目使用。