2012-04-16 270 views
-3

我注意到,在Facebook上的個人資料頁面時,它會將您引導至www.facebook.com/profile.php?=id頁面。我很好奇這是如何工作的。我想創建一個網站,其中用戶有不同的配置文件,我認爲通過我的profile.php路由它會工作得最好。但是,我不確定如何做到這一點。我想直接到profile.php,但是我不認爲我的html和css會被納入等式。我知道你可以在同一個文件中使用php和html,但是如何將由PHP生成的內容指向html中正確的div?對不起,如果這個問題有點混亂。謝謝您的幫助!Facebook的profile.php?= id如何工作?

+0

我很好奇你的php代碼是什麼樣的? – xdazz 2012-04-16 15:46:41

+0

這很基本。我剛剛使用AJAX將我從PHP迴應的內容指向正確的div。 – NSchulze 2012-04-16 15:49:53

+0

那麼有什麼不工作? – xdazz 2012-04-16 15:51:20

回答

4

網絡應用程序將在數據庫中擁有用戶配置文件記錄,併爲其id保留一列。當用戶進入到www.facebook.com/profile.php?id=5,在頁面的代碼搜索與5 ID的配置文件中的數據庫,它則通過將這些數據轉換成HTML顯示該配置文件的信息:

<div><?= $someRecordVariable ?></div> 
+0

簡單快速的解釋!好工作。 – 2012-04-16 16:01:15

+1

作爲一個註釋,最好讓你的php和html儘可能地分開(html中沒有業務邏輯)。 – dqhendricks 2012-04-16 16:02:47

+0

@dqhendricks:將HTML業務邏輯轉換爲HTML是可以的,以及在視圖內部具有視圖模型和模型。一切都好吧。 – hakre 2012-04-16 18:55:12

1

你需要一個框架不涉及混合主要的PHP內聯和HTML。就我個人而言,我喜歡在自己掌控的情況下製作自己的作品。

一個非常簡單的例子是使用模板文件(例如Profile-tpl.php),它包含在你的php的最後,它可以響應你想要輸出的任何內容,根據Profile-tpl中的HTML和CSS .PHP。據加載模塊 -

<HTML> 
    ... 
     <div> 
      <?php echo (!empty($content)) ? $content : ''; ?> 
     </div> 
    ... 
    </HTML> 

我編程的個人風格是通過用乾淨的URL的index.php(?> index.php頁面= P & ID = 12345例如domain.com/p/12345)路由一切該查詢(我已經建立了p加載配置文件),然後從模板文件加載適當的格式。