創建輸入表單
設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為 jane
、 tommy
和 bill
。
然後,創建一個簡單的名為 functions.php 的 PHP 文件,該文件將包含主要的功能。在該文件中要創建少量的函數,以支持微博客應用程序上下文中的動作。
如清單 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
。現在這樣做完全沒有問題,但是在後面顯然需要更改。
<?php
session_start();
include_once('header.php');
include_once('functions.php');創建輸入表單
設置好後端表之後,就可以考慮處理數據插入和更新的 PHP。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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。現在需要的是一些簡單的函數,這些函數將:
- 允許用戶登錄和添加貼子。
- 將那些貼子轉發給追隨那個用戶的人。
- 允許用戶追隨其他用戶。
我通常在模型-視圖-控制器(Model-View-Controller,MVC)應用程序框架(例如 CodeIgniter)的上下文中工作,因為它提供了一套工具用於創建這些類型的應用程序。例如,我一般先創建兩個模型(一個用於用戶,另一個用於貼子),這兩個模型使我可以與 users、posts 和 following 表交互,然後從這兩個模型開始繼續前進。
由於您可能已經在使用不同的框架,所以我決定在此不使用上述方法。相反,我選擇一種更簡單的、獨立於框架的方法。對於本文,我們走走捷徑,直接將記錄添加到 users 表中,以創建一系列測試用戶,供應用程序使用。我創建 3 個用戶,並將他們的用戶名設為
jane
、tommy
和bill
。然後,創建一個簡單的名為 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 中動態地設置,如下面的清單所示。
___FCKpd___2
上述代碼應該沒有什麼特別令人奇怪的東西。它只是接受表單的 body
字段和 PHP 會話中設置的 user ID,然後將它們傳遞給 functions.php 文件中的 add_post()
函數。然後,設置另一個會話變量(更新消息),並將用戶重定向回 index.php 頁面。
如果要測試這個小函數,惟一的方法是檢查數據庫中的 posts 表。這不太符合用戶友好性,不是嗎?這裡需要的是更新主頁上的貼子。為此,需要再將一個函數添加到 functions.php 文件中,並在主頁上使用它。
添加一系列的更新
現在可以打開 functions.php 文件並在其中添??另一個函數。這一次,將函數命名為 show_posts()
。它將顯示特定用戶 ID 的所有貼子,如下面的清單所示。
show_posts()
函數___FCKpd___3
如果為這個函數傳遞一個用戶 ID,它將在一個多維數組中按日期倒序的順序返回那個用戶發出的貼子。要使用該函數,只需在 index.php 上調用它,並檢索那個用戶的所有貼子。由於對於每個記錄只需處理少量的數據,這種查詢可以很好地進行擴展。
清單 9 是添加到 index.php 頁面的代碼,這些代碼就放在前面添加的表單之後。通過使用 show_posts()
函數和會話變量,可以獲得登錄的用戶發出的所有貼子。如果沒有貼子,則顯示某種錯誤消息。如果有貼子,則在一個表中逐個顯示它們 — 或者,如果想別致一點,可以使用自己的級聯樣式表(CSS)。
___FCKpd___4
圖 1 顯示到目前為止的基本界面 — 還不錯,幾分鐘就有這樣的成績。
容易的部分就完成了。現在有了一個基本的應用程序,用戶可以發布狀態,並看到它在頁面上顯示。但是,還缺少一個重要的部分:除了發布狀態的人以外,沒有人看到狀態更新。在下一節中,將創建一個簡單的界面,其中列出系統中的所有用戶,並且允許已登錄的用戶追隨其他用戶並看到他們的狀態更新。