php实现产品页
PHP实现产品页
使用PHP实现产品页通常涉及数据库交互、动态内容渲染和用户交互处理。以下是关键步骤和代码示例:
数据库连接与查询 创建数据库连接并查询产品数据:
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "products_db";
$conn = new mysqli($servername, $username, $password, $dbname);
$sql = "SELECT * FROM products WHERE id = " . $_GET['product_id'];
$result = $conn->query($sql);
$product = $result->fetch_assoc();
产品信息展示 动态渲染产品详情:
<div class="product-container">
<h1><?php echo htmlspecialchars($product['name']); ?></h1>
<img src="<?php echo $product['image_url']; ?>" alt="<?php echo $product['name']; ?>">
<p class="price">$<?php echo number_format($product['price'], 2); ?></p>
<p class="description"><?php echo nl2br(htmlspecialchars($product['description'])); ?></p>
</div>
购物车功能 添加产品到购物车的处理逻辑:
session_start();
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['add_to_cart'])) {
if (!isset($_SESSION['cart'])) {
$_SESSION['cart'] = [];
}
$product_id = $_POST['product_id'];
$_SESSION['cart'][$product_id] = ($_SESSION['cart'][$product_id] ?? 0) + 1;
header('Location: product.php?id=' . $product_id);
exit();
}
表单处理 添加到购物车表单:

<form method="post" action="product.php?id=<?php echo $product['id']; ?>">
<input type="hidden" name="product_id" value="<?php echo $product['id']; ?>">
<button type="submit" name="add_to_cart">Add to Cart</button>
</form>
安全措施 防止SQL注入:
$stmt = $conn->prepare("SELECT * FROM products WHERE id = ?");
$stmt->bind_param("i", $_GET['product_id']);
$stmt->execute();
$result = $stmt->get_result();
$product = $result->fetch_assoc();
错误处理 产品不存在时的处理:
if (!$product) {
header("HTTP/1.0 404 Not Found");
include('404.php');
exit();
}
产品页优化建议
缓存机制 使用缓存提高性能:

$cache_key = 'product_' . $_GET['product_id'];
if (apcu_exists($cache_key)) {
$product = apcu_fetch($cache_key);
} else {
// 数据库查询代码
apcu_store($cache_key, $product, 3600);
}
图片优化 生成响应式图片:
function getResponsiveImage($image_url, $alt) {
$sizes = [480, 768, 1024];
$srcset = [];
foreach ($sizes as $size) {
$srcset[] = generateThumbnail($image_url, $size) . ' ' . $size . 'w';
}
return '<img src="' . $image_url . '" srcset="' . implode(', ', $srcset) . '" alt="' . $alt . '">';
}
SEO优化 添加结构化数据:
$json_ld = [
"@context" => "https://schema.org",
"@type" => "Product",
"name" => $product['name'],
"description" => $product['description'],
"offers" => [
"@type" => "Offer",
"price" => $product['price'],
"priceCurrency" => "USD"
]
];
echo '<script type="application/ld+json">' . json_encode($json_ld) . '</script>';
相关产品推荐 显示相关产品:
$related_sql = "SELECT * FROM products WHERE category_id = ? AND id != ? LIMIT 4";
$stmt = $conn->prepare($related_sql);
$stmt->bind_param("ii", $product['category_id'], $product['id']);
$stmt->execute();
$related_products = $stmt->get_result()->fetch_all(MYSQLI_ASSOC);
实现完整的产品页需要考虑数据库设计、前端展示、用户交互和安全防护等多个方面。根据具体需求可以扩展评论功能、库存管理、多语言支持等特性。






