📅  最后修改于: 2023-12-03 15:41:58.963000             🧑  作者: Mango
通过 slug 回显帖子内容 - PHP
在开发网站或博客的过程中,我们需要使用到slug(翻译为“标识符”或“缩略词”)来唯一标识一篇文章或页面。这样有助于更好地管理我们网站的内容,并使搜索引擎更容易识别和索引我们的内容。
现在,我们来介绍如何通过slug回显帖子内容,使用PHP编写一个简单的功能。
首先,我们需要在数据库中创建一个posts表格,包含必要的字段,如id,title,slug,content等等。我们可以使用以下代码片段来创建这个表格:
CREATE TABLE posts (
id INT(11) AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
slug VARCHAR(255) NOT NULL UNIQUE,
content TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
接下来,我们需要编写PHP代码来通过slug获取帖子内容。我们可以使用以下代码片段:
<?php
// 连接到数据库
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// 设置 PDO 错误模式为异常
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo "连接失败: " . $e->getMessage();
}
// 获取slug参数
$slug = $_GET['slug'];
// 查询对应的帖子
$stmt = $conn->prepare("SELECT * FROM posts WHERE slug = :slug");
$stmt->bindParam(':slug', $slug);
$stmt->execute();
$post = $stmt->fetch();
// 返回帖子内容
if ($post) {
$markdown = $post['content'];
header('Content-Type: text/markdown; charset=utf-8');
echo $markdown;
} else {
echo "没有找到该帖子!";
}
?>
上述代码通过GET方法获取slug参数并在数据库中查询对应的帖子。如果找到了帖子,则返回内容的markdown格式;否则返回一个错误消息。
需要注意的是,我们需要在返回的时候设置Content-Type头部,确保浏览器正确识别并解析为markdown格式。
以上就是通过slug回显帖子内容的简单PHP代码,带有注释和详细说明。您可以根据需要进行修改和适应自己的网站或应用程序。