1、需求分析
- 通過發表文章開始新的討論話題
- 發表文章來回複已有的文章
- 查看發表的文章
- 查看論壇中的交談話題
- 查看文章之間的關係,也就是,查看哪篇文章是另外文章的回複
2、解決方案
2.1 論壇設計
2.2 Web論壇應用程式中用到的檔案
檔案名稱 |
類型 |
描述 |
index.php |
應用程式 |
使用者進入網站看到的首頁。包括該網站中所有文章的可擴充及刪除的列表 |
new_post.php |
應用程式 |
用來發表新文章的表單 |
store_new_post.php |
應用程式 |
儲存已輸入到new_post.php表單中的文章 |
view_post.php |
應用程式 |
顯示一篇單獨的文章及回複它的文章的列表 |
treenode_class.php |
函數庫 |
包含節點類,我們將要用它來顯示文章的繼承關係 |
include_fns.php |
函數庫 |
將該程式中用到的所有其他函數庫放在一起(其他庫類型檔案在這裡列出) |
data_valid_fns.php |
函數庫 |
資料檢驗函數 |
db_fns.php |
函數庫 |
資料庫連接函數 |
discussion_fns.php |
函數庫 |
處理儲存及重新獲得發表的文章的函數 |
output_fns.php |
函數庫 |
輸出HTML的函數 |
create_database.sql |
SQL |
建立該程式所需要資料庫的SQL指令碼 |
3、實現資料庫
CREATE DATABASE discussion;#建立論壇資料庫USE discussion;#使用論壇資料庫CREATE TABLE header#建立資料頭表(parent INT NOT NULL,#父文章的postidposter CHAR(20) NOT NULL,#該文章的作者title CHAR(20) NOT NULL,#該文章的標題children INT DEFAULT 0 NOT NULL,#該文章是否有回複,0無,1有,預設0area INT DEFAULT 1 NOT NULL,#備用於擴充時,實現多個論壇的多個版塊posted datetime NOT NULL,#該文章的發表的時間和日期postid INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY#每篇文章的唯一的ID);CREATE TABLE body#建立本文表(postid INT UNSIGNED NOT NULL PRIMARY KEY,#每篇文章的唯一的IDmessage text#該文章的本文);GRANT SELECT,INSERT,UPDATE,DELETEON discussion.*TO discussion@localhost IDENTIFIED BY 'password';
4、實現原始碼
下載地址:一個簡單的PHP Web論壇
以上就介紹了一個簡單的PHP Web論壇,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。