如何像模板文件一样创建html页面

时间:2011-06-02 20:27:28

标签: php html

众所周知,facebook是一个非常好的基于php的应用程序。我想知道他们是如何为用户个人资料创建页面的。

我们知道每个用户的页面看起来都是一样的,只有页面内的内容会根据用户的不同而变化。

那么我们如何使用php创建类似的东西呢。我们如何将html页面作为模板,并根据用户登录名称进行调用。

我想要一些想法开始,因为我正在构建类似于此的东西。

4 个答案:

答案 0 :(得分:1)

你真的不需要模板系统。只需将不同的数据传递给它。

<?
$user = mysql_query("SELECT * FROM users WHERE id='62' LIMIT 1");
$u = mysql_fetch_array($user);
?>

Welcome, <?=$u['username']?>.<br><br>

Thanks for visiting our site.  How is your mother, <?=$u['mother_name']?>?<br><br>

Username: <input type="text" name="username" value="<?=$u['username']?>" />

显然,这可以使用一些调整,更多检查,实际的表单标签等等,但它应该很好地了解如何编写动态页面而无需模板类型的标签替换系统。 / p>

答案 1 :(得分:1)

欢迎来到动态网页设计世界,

假设您不想查看CMS:

基本上你要创建一个网页,但不是内容,你将拥有最有可能请求和回显数据库内容的php标签,内容通常由get变量决定(在Facebook的情况下,变量是用户id)

更具体地说,您可以在页面顶部使用以下代码的更复杂版本:

<?php
 $givenId = $_GET["uid"]; //or whatever your get variable is
if(ctype_digit($givenId)){ //or whatever validation you want to use to prevent sql injection
        $givenId = intval($givenId);
        mysql_connect("localhost", "USERNAME", "PASSWORD");
        mysql_select_db("YOUR_DB");
        $oisthere = mysql_query("SELECT * FROM TABLE WHERE id=$givenId");
        mysql_close();
        if(mysql_num_rows($oisthere)!=0){
            $sqlholder = mysql_fetch_row($oisthere);
        }
        else{
            //return error
        }
    }
?>

然后在您的页面中,您可以引用<?php echo($sqlholder[1]); ?>,其中第一列包含其用户名或状态或其他重要数据。

然而,你问这个问题的事实告诉我你一般都不太了解php,mysql和动态网页设计。因此,我建议您在阅读并掌握概念之前不要开始构建您的网站。作为起点我建议:w3schools

答案 2 :(得分:0)

您需要使用一些标签,在输出时,您应该将此标签替换为特定内容。一个很好的例子是  {text}是标记时<p>{text}</p>

答案 3 :(得分:0)

从头开始做起来并不容易。我建议首先查看一些内容管理系统(CMSes),例如Joomla!DrupalPostNuke等。如果你真的想做一个完整的自定义工作,那么我会研究一些面向模板的框架,例如SmartyDjangoCodeIgniter