2011-06-02 44 views
1

众所周知,Facebook是一个非常好的基于php的应用程序。我想知道他们是如何为用户配置文件创建页面的。如何创建像模板文件一样的html页面

正如我们所知,每个用户的页面看起来都一样,只有页面内的内容会根据用户而改变。

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

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

+0

请阅读[常见问题](http://stackoverflow.com/faq)。 – Oded 2011-06-02 20:28:52

回答

0

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

0

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

+0

以及如果我们想要使用纯PHP的HTML。我知道这是一个挑战,但只是想要弄清楚它涉及多少复杂因素。 – 2011-06-02 20:36:25

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']?>" /> 

显然,这可以使用一些调整,更多的检查,实际形式tag..etc等等等等,但它应该给你如何编写动态页面是一个好主意,而无需模板型标签 - 替换系统。

+0

听起来不错。让我试试这个选项 – 2011-06-02 20:40:12

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

相关问题