动态创建HTML页面?

时间:2013-09-29 09:07:14

标签: php html dynamic

让我们考虑reddit,例如人们创建让我们说帖子的地方。创建的每个帖子都有自己的html页面,您可以在其中查看评论等。

我对如何创建这些页面感兴趣,我会假设当用户创建帖子时,当帖子被授权时,它的页面会自动创建,但我不知道如何完成。所以我的问题是:这是如何完成的,或者我对整个概念完全错误,如果是这样的话 - 那么最好的方法是什么(为数据库中授权的每个帖子创建单个html页面)?

2 个答案:

答案 0 :(得分:3)

您可能希望了解有关基于编程语言(如PHP,Python,Perl(以及许多其他)自动生成html代码的服务器端代码的更多信息(基于许多因素,包括用户会话,数据库中的某些数据,等)并将这些动态生成的html代码作为页面源发送给客户端。

答案 1 :(得分:2)

当用户发布表单时,action中指定的页面将查看已登录用户的帐户,确定他们拥有的权限,并保存帖子或呈现拒绝消息。

这是通过数据库完成的,因此会有一个user表(包含用户及其登录凭据)和一个post表(包含帖子)。后者可能会有created_user_id作为外键到用户表,因此每个帖子都有一个所有者。

如何在内部组织这取决于网站的功能,以及程序员如何实现它。因此,可能还有一个permission表,用于为每个用户描述允许他们执行的操作。这在Stack Overflow中尤为重要,它会根据您的信誉评分给出(或删除)权限。

  

每个创建的帖子都有自己的html页面,您可以在其中看到评论

是的,但请记住,每个页面都是动态创建的。这些(一般来说)不作为静态文件存储在磁盘上:对于给定的页面类型,脚本用于呈现应该看到的内容。因此,如果有故事和评论,则检查URL,在数据库中找到正确的故事,在数据库中找到相关的评论,然后将包含这些内容项的必要HTML呈现为脚本输出。

像Reddit这样的大型网站也将使用各种缓存策略(针对单个片段和整个页面),但以上是其中的要点。