





前面学了语法、数据库和用户系统,这节课把这些知识整合起来,完成企业网站的典型功能模块:产品展示、新闻发布和后台管理。
产品展示功能
前台产品列表页从数据库中读取产品数据并展示:
<?php
require 'db.php';
$stmt = $pdo->query("SELECT * FROM products ORDER BY created_at DESC");
$products = $stmt->fetchAll(PDO::FETCH_ASSOC);
?>
<div class="product-list">
<?php foreach ($products as $product): ?>
<div class="product-card">
<h3><?php echo htmlspecialchars($product['name']); ?></h3>
<p>价格:<?php echo $product['price']; ?> 元</p>
<a href="product_detail.php?id=<?php echo $product['id']; ?>">查看详情</a>
</div>
<?php endforeach; ?>
</div>产品详情页根据URL中的id参数查询对应产品:

<?php
require 'db.php';
$id = intval($_GET@['id']);
$stmt = $pdo->prepare("SELECT * FROM products WHERE id = ?");
$stmt->execute([$id]);
$product = $stmt->fetch(PDO::FETCH_ASSOC);
if (!$product) {
die("产品不存在");
}
?>
<h1><?php echo htmlspecialchars($product['name']); ?></h1>
<p><?php echo nl2br(htmlspecialchars($product['description'])); ?></p>新闻发布功能
创建新闻表,后台添加新闻,前台展示列表和详情:
CREATE TABLE news ( id INT AUTO_INCREMENT PRIMARY KEY, title VARCHAR(200) NOT NULL, content TEXT NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
后台添加新闻的表单处理:
<?php
session_start();
if ($_SESSION['role'] !== 'admin') die("无权限");
require 'db.php';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$title = trim($_POST@['title']);
$content = trim($_POST@['content']);
if (empty($title) || empty($content)) {
die("标题和内容不能为空");
}
$stmt = $pdo->prepare("INSERT INTO news (title, content) VALUES (?, ?)");
$stmt->execute([$title, $content]);
echo "新闻发布成功";
}
?>后台管理功能
后台首页列出所有产品和新闻,提供编辑和删除入口。编辑功能根据id查询数据并填充到表单,提交后更新数据库。删除功能根据id执行DELETE语句。后台的每个页面都需要检查Session和权限,确保只有登录用户才能访问。
实操建议
按“产品展示→新闻发布→后台管理”的顺序逐模块开发。每完成一个模块,在浏览器中测试完整流程:前台展示是否正常、后台添加是否成功、数据是否正确显示。把错误信息粘贴给AI分析,能快速定位问题。