这会将页面分为两个PHP文件:(1)第一个获取数据,(2)第二个显示数据。
获取数据时,不应打印单个字符。
如果发生某些错误,请显示错误页面。
一旦获得所有数据且没有错误-是时候添加模板了。该模板还具有两个PHP文件:该页面本身的模板和该站点中所有页面共同共享的模板。
通过以这种方式对事物进行排序,您将解决当前和将来的所有模板问题。
典型的脚本可能看起来像
<?//include our settings, connect to database etc.include dirname($_SERVER['document_ROOT']).'/cfg/settings.php';//getting required data$DATA=dbgetarr("SELECt * FROM links");$pagetitle = "links to friend sites";//etc//and then call a template:$tpl = "links.php";include "template.php";?>template.php您的主要网站模板在哪里,包括通用部分,例如页眉,页脚,菜单等:
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>My site. <?=$pagetitle?></title></head><body><div id="page"><? include $tpl ?></div></body></html>
并且
links.php是实际的页面模板:
<h2><?=$pagetitle?></h2><ul><? foreach($DATA as $row): ?><li><a href="<?=$row['link']?>" target="_blank"><?=$row['name']?></a></li><? endforeach ?><ul>
容易,清洁和可维护。
settings.php包含所有常用设置:
<?php$hostname_conn,$database_conn,$username_conn,$password_conn,$conn;$hostname_conn = "localhost";$database_conn = "test";$username_conn = "****";$password_conn = "****";$conn = mysql_connect($hostname_conn, $username_conn, $password_conn) or trigger_error(mysql_error(),E_USER_ERROR); mysql_query("SET NAMES 'utf8'") or trigger_error(mysql_error(),E_USER_ERROR);$tpl = "default.php";$pagetitle = "";function dbgetarr(){ $a = array(); $args = func_get_args(); $query = array_shift($args); $query = str_replace("%s","'%s'",$query); foreach ($args as $key => $val) { $args[$key] = mysql_real_escape_string($val); } $query = vsprintf($query, $args); $res = mysql_query($query); if (!$res) { trigger_error("dbget: ".mysql_error()." in ".$query); } else { while($row = mysql_fetch_assoc($res)) $a[]=$row; } return $a;}?>


