相信每個曾經到過OSO的人都會對OSO的論壇留下極深的印象,而這個論壇無論從那一方面來說都是比較出色的。你想不想你的主頁也有這麼一個漂亮的論壇呢,其實並不太複雜的,下面我們僅從一些基本的部分來實現對OSO論壇的模仿。
由於我只是使用這個論壇作為我的留言板,所以我的論壇可以算是OSO論壇的簡配。 1.在我的論壇中只有在使用者登入後才能發言,使用者的ID是存在一個叫「cookie_user」的cookie變數中的,2、我的論壇沒有子論壇,3、我沒有統計一個主題的點擊數,4、在OSO論壇中每一個主題前面的表示有沒有新貼子的圖標我也沒設計,5、對於OSO論壇所提供的可選擇的主題排列方式以及顯示時間段我也沒考慮,6、沒有會員發貼積分的統計,7.沒有版主管理論壇的功能,8.沒有貼文編輯的功能。我們將在最後提到如何在我的程式基礎上擴充這八項功能。
首先是一個資料庫的設計,事實上一個論壇牽涉到兩個資料表,我們暫且將其命名為user、guestbook,在user表中儲存的是註冊用戶的資訊。其建立語句如下:
create table my_user(
user_id char(12) not null,/*使用者名稱*/
user_password KEY (user_id)
)
guestbook中儲存的是貼文內容。其創作內容如下:
CREATE TABLE guestbook (
id bigint DEFAULT '0' NOT NULL auto_increment,/*發言id,自增欄位*/
name varchar(12) NOTULL,//*人*/
type tinyint NOT NULL,/*類型0-回覆;1-主貼*/
theme varchar(50) NULL,/*主題*/
theme varchar(50) NULL,/*主題*/
*/
icon tinyint NOT NULL,/*表情圖示*/
time_open datetime not NULL,/*主題建立時間*/
time int not null,/*回覆數*/
answer_name varchar(12) not null,/*最後回覆者*/
main_id bigint null,/*主貼id*/
main_id bigint null,*主貼id*/
/**/
);
程式包含五個php原始碼:分別是connect.inc.php,faq.php,read.php,post.php,reply.php,post_end.php
connect.inc.php:(用來連接資料庫)
$dbhostname = "localhost";
$dbusername = "";
$dbpass = "";
$dbName = "";
MYSQL_CONNECT($dbhostname, $dbusername, $dbpassword) OR DIE("Unable to connect to database");
@mysql_select_db( "$dbName") or die( "Unable to select database" );
?>
faq.php:(用來顯示主題清單)
只有會員才能在此發言
分頁: $page1=$page-1; $page2=$第1頁; if ($page==1) echo "首頁 前頁 "; else echo "首頁 前頁「; if ($page==$totalpage ) echo "後頁 尾頁 "; else echo "後頁 尾頁 "; ? > |