程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP入門知識 >> PHP實例教程(2):構建基於PHP的微博客服務

PHP實例教程(2):構建基於PHP的微博客服務

編輯:PHP入門知識

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
				
<?php
session_start();
include_once('header.php');
include_once('functions.php');

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
___FCKpd___1

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
				
<?php
session_start();
include_once("header.php");
include_once("functions.php");

$userid =

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
				
<?php
session_start();
include_once('header.php');
include_once('functions.php');

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
___FCKpd___1

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
___FCKpd___2

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
				
function show_posts($userid){
$posts = array();

$sql = "select body, stamp from posts
where user_id = '$userid' order by stamp desc";
$result = mysql_query($sql);

while($data = mysql_fetch_object($result)){
$posts[] = array( 'stamp' => $data->stamp,
'userid' => $userid,
'body' => $data->body
);
}
return $posts;

}

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
				
<?php
$posts = show_posts(

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
				
<?php
session_start();
include_once('header.php');
include_once('functions.php');

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
___FCKpd___1

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
				
<?php
session_start();
include_once("header.php");
include_once("functions.php");

$userid =

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
				
<?php
session_start();
include_once('header.php');
include_once('functions.php');

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
___FCKpd___1

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
___FCKpd___2

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
				
function show_posts($userid){
$posts = array();

$sql = "select body, stamp from posts
where user_id = '$userid' order by stamp desc";
$result = mysql_query($sql);

while($data = mysql_fetch_object($result)){
$posts[] = array( 'stamp' => $data->stamp,
'userid' => $userid,
'body' => $data->body
);
}
return $posts;

}

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

SESSION['userid'] = 1;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Microblogging Application</title>
</head>
vbody>

<?php
if (isset(

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
___FCKpd___1

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
___FCKpd___2

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
___FCKpd___3

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

SESSION['message'])){
echo "<b>".

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
___FCKpd___1

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
___FCKpd___2

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
___FCKpd___3

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

SESSION['message']."</b>";
unset(

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
___FCKpd___1

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
___FCKpd___2

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
___FCKpd___3

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

SESSION['message']);
}
?>
<form method='post' action='add.php'>
<p>Your status:</p>
<textarea name='body' rows='5' cols='40' wrap=VIRTUAL></textarea>
<p><input type='submit' value='submit'/></p>
</form>

</body>
</html>

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
___FCKpd___2

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
___FCKpd___3

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

SESSION['userid'];
$body = substr(

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
				
<?php
session_start();
include_once('header.php');
include_once('functions.php');

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
___FCKpd___1

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
___FCKpd___2

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
___FCKpd___3

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

SESSION['userid'] = 1;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Microblogging Application</title>
</head>
vbody>

<?php
if (isset(

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
___FCKpd___1

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
___FCKpd___2

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
___FCKpd___3

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

SESSION['message'])){
echo "<b>".

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
___FCKpd___1

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
___FCKpd___2

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
___FCKpd___3

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

SESSION['message']."</b>";
unset(

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
___FCKpd___1

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
___FCKpd___2

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
___FCKpd___3

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

SESSION['message']);
}
?>
<form method='post' action='add.php'>
<p>Your status:</p>
<textarea name='body' rows='5' cols='40' wrap=VIRTUAL></textarea>
<p><input type='submit' value='submit'/></p>
</form>

</body>
</html>

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
___FCKpd___2

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
___FCKpd___3

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

POST['body'],0,140);

add_post($userid,$body);

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
				
<?php
session_start();
include_once('header.php');
include_once('functions.php');

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
___FCKpd___1

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
___FCKpd___2

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
___FCKpd___3

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

SESSION['userid'] = 1;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Microblogging Application</title>
</head>
vbody>

<?php
if (isset(

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
___FCKpd___1

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
___FCKpd___2

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
___FCKpd___3

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

SESSION['message'])){
echo "<b>".

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
___FCKpd___1

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
___FCKpd___2

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
___FCKpd___3

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

SESSION['message']."</b>";
unset(

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
___FCKpd___1

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
___FCKpd___2

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
___FCKpd___3

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

SESSION['message']);
}
?>
<form method='post' action='add.php'>
<p>Your status:</p>
<textarea name='body' rows='5' cols='40' wrap=VIRTUAL></textarea>
<p><input type='submit' value='submit'/></p>
</form>

</body>
</html>

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
___FCKpd___2

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
___FCKpd___3

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

SESSION['message'] = "Your post has been added!";

header("Location:index.php");
?>

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
___FCKpd___3

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

SESSION['userid'] = 1;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Microblogging Application</title>
</head>
vbody>

<?php
if (isset(

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
___FCKpd___1

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
___FCKpd___2

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
___FCKpd___3

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

SESSION['message'])){
echo "<b>".

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
___FCKpd___1

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
___FCKpd___2

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
___FCKpd___3

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

SESSION['message']."</b>";
unset(

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
___FCKpd___1

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
___FCKpd___2

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
___FCKpd___3

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

SESSION['message']);
}
?>
<form method='post' action='add.php'>
<p>Your status:</p>
<textarea name='body' rows='5' cols='40' wrap=VIRTUAL></textarea>
<p><input type='submit' value='submit'/></p>
</form>

</body>
</html>

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
___FCKpd___2

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
___FCKpd___3

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

SESSION['userid']);

if (count($posts)){
?>
<table border='1' cellspacing='0' cellpadding='5' width='500'>
<?php
foreach ($posts as $key => $list){
echo "<tr valign='top'>\n";
echo "<td>".$list['userid'] ."</td>\n";
echo "<td>".$list['body'] ."<br/>\n";
echo "<small>".$list['stamp'] ."</small></td>\n";
echo "</tr>\n";
}
?>
</table>
<?php
}else{
?>
<p><b>You haven't posted anything yet!</b></p>
<?php
}
?>

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

SESSION['userid'] = 1;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Microblogging Application</title>
</head>
vbody>

<?php
if (isset(

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
___FCKpd___1

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
___FCKpd___2

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
___FCKpd___3

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

SESSION['message'])){
echo "<b>".

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
___FCKpd___1

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
___FCKpd___2

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
___FCKpd___3

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

SESSION['message']."</b>";
unset(

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
___FCKpd___1

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
___FCKpd___2

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
___FCKpd___3

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

SESSION['message']);
}
?>
<form method='post' action='add.php'>
<p>Your status:</p>
<textarea name='body' rows='5' cols='40' wrap=VIRTUAL></textarea>
<p><input type='submit' value='submit'/></p>
</form>

</body>
</html>

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
___FCKpd___2

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
___FCKpd___3

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

SESSION['userid'];
$body = substr(

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
				
<?php
session_start();
include_once('header.php');
include_once('functions.php');

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
___FCKpd___1

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
___FCKpd___2

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
___FCKpd___3

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

SESSION['userid'] = 1;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Microblogging Application</title>
</head>
vbody>

<?php
if (isset(

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
___FCKpd___1

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
___FCKpd___2

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
___FCKpd___3

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

SESSION['message'])){
echo "<b>".

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
___FCKpd___1

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
___FCKpd___2

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
___FCKpd___3

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

SESSION['message']."</b>";
unset(

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
___FCKpd___1

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
___FCKpd___2

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
___FCKpd___3

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

SESSION['message']);
}
?>
<form method='post' action='add.php'>
<p>Your status:</p>
<textarea name='body' rows='5' cols='40' wrap=VIRTUAL></textarea>
<p><input type='submit' value='submit'/></p>
</form>

</body>
</html>

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
___FCKpd___2

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
___FCKpd___3

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

POST['body'],0,140);

add_post($userid,$body);

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
				
<?php
session_start();
include_once('header.php');
include_once('functions.php');

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
___FCKpd___1

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
___FCKpd___2

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
___FCKpd___3

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

SESSION['userid'] = 1;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Microblogging Application</title>
</head>
vbody>

<?php
if (isset(

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
___FCKpd___1

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
___FCKpd___2

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
___FCKpd___3

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

SESSION['message'])){
echo "<b>".

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
___FCKpd___1

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
___FCKpd___2

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
___FCKpd___3

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

SESSION['message']."</b>";
unset(

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
___FCKpd___1

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
___FCKpd___2

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
___FCKpd___3

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

SESSION['message']);
}
?>
<form method='post' action='add.php'>
<p>Your status:</p>
<textarea name='body' rows='5' cols='40' wrap=VIRTUAL></textarea>
<p><input type='submit' value='submit'/></p>
</form>

</body>
</html>

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
___FCKpd___2

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
___FCKpd___3

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

SESSION['message'] = "Your post has been added!";

header("Location:index.php");
?>

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
___FCKpd___3

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

SESSION['userid'] = 1;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Microblogging Application</title>
</head>
vbody>

<?php
if (isset(

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
___FCKpd___1

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
___FCKpd___2

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
___FCKpd___3

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

SESSION['message'])){
echo "<b>".

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
___FCKpd___1

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
___FCKpd___2

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
___FCKpd___3

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

SESSION['message']."</b>";
unset(

創建輸入表單

設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:

  1. 允許用戶登錄和添加貼子。
  2. 將那些貼子轉發給追隨那個用戶的人。
  3. 允許用戶追隨其他用戶。

我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。

由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 janetommybill

然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。

如清單 5 所示,第一個函數是一個簡單的函數,用於將內容添加到 posts 表中。


清單 5. 用於將內容添加到 posts 表中的函數
				
function add_post($userid,$body){
$sql = "insert into posts (user_id, body, stamp)
values ($userid, '". mysql_real_escape_string($body). "',now())";

$result = mysql_query($sql);
}

為了測試這個簡單的函數,還需要添加另外兩個 PHP 文件。一個是 index.php 文件,目前包含一個基本的小表單 — 後面將向頁面添加更多內容。另一個 PHP 文件是 add.php,上述表單將被發布到該文件。清單 6 是 index.php 文件的摘錄。請注意,在此使用一個 PHP 會話將一個用戶 ID 值硬編碼為 1,這是我的數據庫中的用戶 jane。現在這樣做完全沒有問題,但是在後面顯然需要更改。


清單 6. index.php 文件摘錄
___FCKpd___1

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
___FCKpd___2

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
___FCKpd___3

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

SESSION['message']);
}
?>
<form method='post' action='add.php'>
<p>Your status:</p>
<textarea name='body' rows='5' cols='40' wrap=VIRTUAL></textarea>
<p><input type='submit' value='submit'/></p>
</form>

</body>
</html>

此外還應注意,我在表單上為狀態消息留下了空間,這將在 add.php 中動態地設置,如下面的清單所示。


清單 7. 用 add.php 文件將貼子添加到數據庫中
___FCKpd___2

上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body 字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post() 函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。

如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。







添加一系列的更新

現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。


清單 8. show_posts() 函數
___FCKpd___3

如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。

清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts() 函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。


清單 9. 在 index.php 頁面上顯示貼子
___FCKpd___4

圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。


圖 1. 基本界面
基本界面

容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved