2011-06-02 41 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

相關問題