使用我的自定义CMS创建页面

时间:2017-06-02 14:36:24

标签: php content-management-system

我今天已经开始创建一个CMS用于个人用途,用于管理purporses并且还自学一些东西。

我的管理区域中有一个部分,我可以创建/更新/删除效果很好的网页或帖子。

我的问题是如何根据我存储在数据库中的信息生成页面和URL?

比方说我的表“posts”有几行包含“post_title”,“post_content”,“post_slug”等。如何在我的数据库中根据这些信息生成一个页面(因为它显然不是在创建基于PHP文件的页面),所以我会http://mywebsite.com/cool-new-post-slug.php(然后我可以通过ID获取内容等)?

如果有人能指出我正确的方向,那就太好了。谢谢你的回答。

1 个答案:

答案 0 :(得分:1)

如果我正确理解你的问题,你需要先从数据库中检索所有slug,然后用它们构建你的url。

假设你正在使用mysqli:

$query = "SELECT post_slug,post_title FROM posts";
$posts = mysqli_query($con,$query);
while($post = mysqli_fetch_assoc($posts)){

    echo "<a href=\"single.php?slug=" . $post["post_slug"] . "\">";
    echo $post["post_title"];
    echo "</a><br/>";

}

mysqli_free_result($posts);

然后在single.php上,您将使用GET变量post_slug来检索您的数据。

在.htaccess文件中,您可以使用mod_rewrite获取漂亮的URL,如下所示:

RewriteEngine On
RewriteBase /
RewriteRule posts/(.+?)/?$ single.php?slug=$1

这会显示您的浏览器的http://mywebsite.com/posts/cool-new-post/网址,但它真正访问的是single.php?slug=cool-new-post