模仿OSO的論壇(一)

 
    相信每一個到過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    varchar(8)    not null,/*用戶密碼*/
Prima(最完善的虛擬主機管理系統)RY KEY (user_id)
)
guestbook中儲存的是貼子內容。其創建內容如下:
CREATE TABLE guestbook (
   id bigint DEFAULT 0 NOT NULL auto_increment,/*發言id,自增字段*/
   name varchar(12) NOT NULL,/*主題創建人*/
   type tinyint NOT NULL,/*類型0-回復;1-主貼*/
   theme varchar(50) NULL,/*主題*/
   content blob NOT NULL,/*內容*/
   icon tinyint NOT NULL,/*表情圖標*/
   time_open datetime not NULL,/*主題創建時間*/
   time_close datetime not NULL,/*最後回復時間*/
   answer_count int not null,/*回復數*/
   answer_name varchar(12) not null,/*最後回復人*/
   main_id bigint null,/*主貼id*/
   Prima(最完善的虛擬主機管理系統)RY KEY (id)/**/
);
程序包含五個php(做為現在的主流開發語言)源代碼:分別是connect.inc.php(做為現在的主流開發語言),faq.php(做為現在的主流開發語言),read.php(做為現在的主流開發語言),post.php(做為現在的主流開發語言),reply.php(做為現在的主流開發語言),post_end.php(做為現在的主流開發語言)
connect.inc.php(做為現在的主流開發語言):(用來連接數據庫)
<?
$dbhostname = “localhost”;  
$dbusername = “”;  
$dbpassword = “”;
$dbName = “”;  
MySQL(和PHP搭配之最佳組合)_CONNECT($dbhostname, $dbusername, $dbpassword) OR DIE(“Unable to connect to database”);
@MySQL(和PHP搭配之最佳組合)_select_db( “$dbName”) or die( “Unable to select database”);  
?>


faq.php(做為現在的主流開發語言):(用來顯示主題列表)
<HTML><HEAD><TITLE>疑難問題</TITLE>
<LINK href=”mypic/style.css” rel=STYLESHEET type=text/css></HEAD>
<BODY bgColor=#cccc99 bottomMargin=0 leftMargin=0 topMargin=0 marginwidth=”0″ marginheight=”0″>
      <TABLE border=0 cellPadding=0 cellSpacing=0 width=”100%”>
        <TBODY>
<SCRIPT language=JavaScript  
src=”mypic/x.js”></SCRIPT>
  <TR>
    <TD vAlign=top>隻有會員才能在此發言<BR>
      <TABLE align=center border=0 cellPadding=4 cellSpacing=1 width=100% class=body_br >

發佈留言