如何构建动态网站?

时间:2016-10-06 14:28:21

标签: php html mysql content-management-system

我用PHP编写了自己的CMS。这很简单,但它不允许我做一些事情,比如动态页面中header()的重定向。
这是它的结构(非常简化):

<?php
$db = new PDO...
try {
    //getting page info from database (by $_GET['id'])
    //and put results into $pageInfo
    $stmt->prepare
//.. catch etc...
?>
<!doctype html>
<html>
<head><title><?=$pageInfo['title'];?></title></head>
<body>
<?php
//this file below cannot contain a php redirect, because headers are already sent
include($pageInfo['content_path']);
?>
</body>
</html>

有一个页面是动态的,可以通过更改get参数id的值来显示其他页面 包含的内容通常包含PHP脚本。

我浏览过互联网,但我不知道如何解决这个问题 我可以创建header.htmlfooter.html并将其包含在每个页面中吗?但是,如果我在包含内容之前包含头文件并不发送标题?怎么样?

如果这个问题看起来很愚蠢,真的很抱歉,但我不知道怎么做。我没有教过我的人,所以我必须自己学习,但是对于一些我不知道在哪里看的东西。

提前致谢。

1 个答案:

答案 0 :(得分:0)

首选方法是将应用程序分成几个部分,一部分执行代码(Controller或核心),另一部分执行某些部分(视图或模板)。

例如在MVC(模型/视图/控制器)中,您的单个页面只是一个调用控制器的调度程序,控制器执行PHP代码,并使用第二部分,模型和最后获取一些数据调用模板来显示数据。

在您的示例中,您可以首先为每个调用包含两个文件,一个仅包含PHP代码并获取所有数据,然后包含带有变量的html模板,并且只需要非常简单的代码显示数据。然后,您可以在php-part(控制器)中进行重定向并退出。