【问题标题】:php cycling through dynamically created pages for a blogphp 循环浏览动态创建的博客页面
【发布时间】:2012-10-09 13:18:40
【问题描述】:

我目前正在为我正在构建的网站从头开始构建博客,因为我的客户要求我这样做,而不是使用简单的库。每个帖子都是一个动态创建的页面,文件名是创建日期(我已确保解决每天发布多个帖子的问题)。

问题是我不知道如何制作“下一篇文章”按钮。 “上一篇文章”按钮不会有问题,因为我可以将它链接到当前帖子创建期间的最新帖子。我的博客数据库中的表如下:

    num - auto increment post number
    date - date posted
    src - page location

我可以将博客重新构建为完全服务器端的,并且只为博客提供一个页面,该页面将循环浏览每篇文章。不过,我真的不想这样做,因为您无法向某人发送指向单个博客文章的直接链接。我的另一个想法是根据帖子编号重命名每个页面,但如果我们不得不删除帖子,那就行不通了。

我真的不知道该怎么办。我的解决方案都不是最优的,它们都会在未来造成问题。

提前感谢您的帮助。

【问题讨论】:

  • 我只是想确保我理解您的问题...当用户现在发表博客文章时,该文章将被创建并存储为 HTML 文档。上一篇和下一篇文章的链接在那个文档上?
  • 为下一个按钮添加一个占位符(例如,HTML 注释:<!-- NEXT -->)并在生成下一个帖子后使用正则表达式将其替换为真实链接。

标签: php dynamic blogs


【解决方案1】:

你写:

我可以将博客重建为完全服务器端的,并且只为博客提供一个页面,该页面将循环浏览每篇文章。不过,我真的不想这样做,因为您无法向某人发送指向单个博客文章的直接链接。

我强烈建议使用数据库解决方案,而不是创建包含博客内容的静态文件。从长远来看,它更加灵活。如果您想删除帖子、编辑帖子、移动帖子,如果一切都可以轻松访问,那么它会更容易访问。

您提出的无法直接链接到博客文章的问题很容易解决:在您的 URL 中使用 GET 变量。如果您有一个 PHP 页面来显示博客文章,例如 displaypost.php,您可以在末尾添加一个变量,告诉页面 要显示哪个 文章。您的网址可能是:yoursite.com/displaypost.php?postid=12

这也将使您更容易链接到上一个和下一个帖子的问题;只需检查数据库下一个 id 是什么,高于当前一个(或一个更低)。

在我看来,您不可避免地会在未来的某个地方切换到数据库驱动的解决方案——而不是迟早,以免不得不做两次事情。

【讨论】:

  • 我知道出于安全原因我应该使用 POST,但我不知道这就是原因。非常感谢!我一定会用这个!
猜你喜欢
  • 1970-01-01
  • 2015-08-27
  • 1970-01-01
  • 2010-09-10
  • 1970-01-01
  • 2015-04-20
  • 2018-07-28
  • 1970-01-01
  • 2019-11-07
相关资源
最近更新 更多