基于php mysql校園論壇設(shè)計

上傳人:仙*** 文檔編號:28678904 上傳時間:2021-09-07 格式:DOC 頁數(shù):25 大?。?92.50KB
收藏 版權(quán)申訴 舉報 下載
基于php mysql校園論壇設(shè)計_第1頁
第1頁 / 共25頁
基于php mysql校園論壇設(shè)計_第2頁
第2頁 / 共25頁
基于php mysql校園論壇設(shè)計_第3頁
第3頁 / 共25頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《基于php mysql校園論壇設(shè)計》由會員分享,可在線閱讀,更多相關(guān)《基于php mysql校園論壇設(shè)計(25頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、目 錄摘 要 .11. 緒論 .21.1 概論 .21.2 論壇定義和系統(tǒng)基本功能 .22系統(tǒng)開發(fā)的環(huán)境和工具 .32.1 系統(tǒng)開發(fā)的環(huán)境 .32.2 MYSQL數(shù)據(jù)庫簡介 .32.3 APACHE服務(wù)器簡介 .32.4 PHP語言簡介 .43需求分析及詳細(xì)設(shè)計 .53.1 論壇的需求規(guī)劃 .53.2 論壇總工作流程圖 .63.3 數(shù)據(jù)庫設(shè)計部分 .83.4 程序設(shè)計部分 .113.5 關(guān)鍵技術(shù) .163.6 網(wǎng)站文件結(jié)構(gòu) .193.7 論壇設(shè)計存在問題 .214總結(jié) .22參考文獻 .23致 謝 .241摘 要校園論壇是校園網(wǎng)中不可缺少的部分之一。雖然基于 ASP+ACCESS的論壇使用簡潔

2、,安裝方便,但 MySQL數(shù)據(jù)庫以它短小、方便、速度快、免費等優(yōu)點成為很多站點目前首選數(shù)據(jù)庫,加上 PHP語言也具有可跨平臺、移植性高,安全可靠,快速高效的優(yōu)點,因此目前很多流行論壇程序都采用了 Apache+Php+Mysql相結(jié)合來開發(fā)論壇,所以我們也使用動態(tài)跨平臺語言 PHP和現(xiàn)在非常流行的 Web服務(wù)器 Apache,通過與適合開發(fā)中型網(wǎng)站的 MySQL數(shù)據(jù)庫進行無縫結(jié)合,做一個計算機系的學(xué)校論壇,并為論壇用戶提供了周到和個性化的服務(wù)。關(guān)鍵詞:PHP,Apache,MySQL,BBS,論壇,計算機系,技術(shù),交流,網(wǎng)站,設(shè)計,規(guī)劃。ABSTRACT: BBS campus network

3、 is one of the indispensable parts. Although the BBS based on ASP and ACCESS use concise, convenient installation, but in its short MySQL database, convenient, quick and free as many advantages such as database, and at first site with cross-platform PHP language and portability, high, safe and relia

4、ble, efficient, so many of the advantages of using BBS popular program I can with Apache+ PHP+MySQL combination to develop BBS, so we also use dynamic cross-platform language PHP and now very popular Web server for development, and I can with Apache medium-sized websites on the MySQL databases, do a

5、 seamless BBS, computer department of the school and offers considerate BBS for users with personalized service.KEYWORDS:PHP, Apache, MySQL, BS,computer, technology, communication, websit, design, plannin.21. 緒論1.1 概論BBS 起源于 20 世紀(jì) 80 年代初。最初,論壇只是用于發(fā)布公告信息,討論問題的在線交流平臺。后來,隨著網(wǎng)絡(luò)的普及,論壇的功能越來越豐富,受到廣大網(wǎng)民的歡迎。因此

6、,校園網(wǎng)站對論壇重視起來,紛紛在自己的網(wǎng)站上開辟論壇。作為與師生交流的園地。同時在線技術(shù)支持和在線服務(wù)也在論壇中開展起來。當(dāng)代的大學(xué)生幾乎都會接觸甚至經(jīng)常登陸自己感興趣的論壇,在上面可以分享,也可以交流意見,但是,能把他們集中起來的論壇并不是很多。目前,很多人選擇這樣的組合:Apache+Php+MySQL 來建設(shè)自己的論壇,因為它們都可以免費從網(wǎng)上下載,而且很容易在 Linux 平臺下應(yīng)用,網(wǎng)站安全性、穩(wěn)定性和執(zhí)行效率都非常優(yōu)秀。1.2 論壇定義和系統(tǒng)基本功能論壇也稱為 BBS,是 bulletin Board System 的簡稱,意即電子公告板,是一種在Internet 上常見的用于信息

7、服務(wù)的 Web 系統(tǒng),它主要給瀏覽者提供相互溝通的平臺,以此來吸引用戶,服務(wù)用戶。開發(fā)本系統(tǒng)意在吸納大部分游離在眾多論壇的計算機系大學(xué)生和喜歡計算機的學(xué)生,能一起共享計算機資源,能一起談?wù)剬W(xué)習(xí)計算機過程的經(jīng)驗。32系統(tǒng)開發(fā)的環(huán)境和工具2.1 系統(tǒng)開發(fā)的環(huán)境本論壇在 Linux 平臺下應(yīng)用,采用 Apache+Php+MySQL 建設(shè)。2.2 MySQL數(shù)據(jù)庫簡介MySQL(發(fā)音為“my ess cue e”,不是“my sequel”)是一種開放源代碼的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS) ,MySQL 數(shù)據(jù)庫系統(tǒng)使用最常用的數(shù)據(jù)庫管理語言結(jié)構(gòu)化查詢語言(SQL)進行數(shù)據(jù)庫管理。由于 MySQL

8、 是開放源代碼的,因此任何人都可以在 General Public License 的許可下下載并根據(jù)個性化的需要對其進行修改。MySQL 因為其速度、可靠性和適應(yīng)性而備受關(guān)注。大多數(shù)人都認(rèn)為在不需要事務(wù)化處理的情況下,MySQL 是管理內(nèi)容最好的選擇。MySQL 關(guān)系型數(shù)據(jù)庫于 1998 年 1 月發(fā)行第一個版本。它使用系統(tǒng)核心提供的多線程機制提供完全的多線程運行模式,提供了面向C、C+、Eiffel、Java、Perl、PHP、Python 以及 Tcl 等編程語言的編程接口(APIs ) ,支持多種字段類型并且提供了完整的操作符支持查詢中的 SELECT 和 WHERE 操作。MySQL

9、 開發(fā)組計劃于 2001 年中期公布 MySQL4.0 版本。在這個版本中將有以下新的特性被提供:新的表定義文件格式、高性能的數(shù)據(jù)復(fù)制功能、更加強大的全文搜索功能。在此之后,MySQL 開發(fā)著希望提供安全的數(shù)據(jù)復(fù)制機制、在 BeOS 操作系統(tǒng)上的 MySQL 實現(xiàn)以及對延時關(guān)鍵字的定期刷新選項。隨著時間的推進,MySQL 將對 ANSI 92/ANSI 99 標(biāo)準(zhǔn)完全兼容。2.3 Apache服務(wù)器簡介apache是世界排名第一的 web服務(wù)器, 根據(jù) netcraft所作的調(diào)查,世界上百分4之五十以上的 web服務(wù)器在使用 apache. 1995年 4月, 最早的 apache(0.6.2

10、版)由 apache group公布發(fā)行. Apache group 是一個完全通過 internet進行運作的非盈利機構(gòu), 由它來決定 apache web服務(wù)器的標(biāo)準(zhǔn)發(fā)行版中應(yīng)該包含哪些內(nèi)容. 準(zhǔn)許任何人修改隱錯, 提供新的特征和將它移植到新的平臺上, 以及其它的工作. 當(dāng)新的代碼被提交給 apache group時, 該團體審核它的具體內(nèi)容, 進行測試, 如果認(rèn)為滿意, 該代碼就會被集成到 apache的主要發(fā)行版中。2.4 PHP語言簡介PHP 最初是 1994年 Rasmus Lerdorf創(chuàng)建的,剛剛開始只是一個簡單的用 Perl語言編寫的程序,用來統(tǒng)計他自己網(wǎng)站的訪問者。后來又用

11、 C語言重新編寫,包括可以訪問數(shù)據(jù)庫。在 1995年以 Personal Home Page Tools (PHP Tools) 開始對外發(fā)表第一個版本,Lerdorf 寫了一些介紹此程序的文檔,并且發(fā)布了 PHP1.0。在這早期的版本中,提供了訪客留言本、訪客計數(shù)器等簡單的功能。以后越來越多的網(wǎng)站使用了 PHP,并且強烈要求增加一些特性,比如循環(huán)語句和數(shù)組變量等等,在新的成員加入開發(fā)行列之后,在 1995年中,PHP2.0 發(fā)布了。第二版定名為PHP/FI(Form Interpreter)。PHP/FI 加入了對 MYSQL的支持,從此建立了 PHP在動態(tài)網(wǎng)頁開發(fā)上的地位。到了 1996年

12、底,有 15000個網(wǎng)站使用 PHP/FI;時間到了1997年中,使用 PHP/FI的網(wǎng)站數(shù)字超過五萬個。而在 1997年中,開始了第三版的開發(fā)計劃,開發(fā)小組加入了 Zeev Suraski 及 Andi Gutmans,而第三版就定名為PHP3。2000 年,PHP4.0 又問世了,其中增加了許多新的特性。 PHP程序駐留在內(nèi)存中,其他用戶再一次訪問這個程序時就不需要重新編譯程序了,只要直接執(zhí)行內(nèi)存中的代碼就可以了,這也是 PHP高效率的體現(xiàn)之一。PHP 具有非常強大的功能,所有的 CGI或者 JavaScript的功能 PHP都能實現(xiàn),而且支持幾乎所有流行的數(shù)據(jù)庫以及操作系統(tǒng)。PHP(Pe

13、rsonai Home Page)是一種易于學(xué)習(xí)和使用的服務(wù)器端腳本語言.只需要很少的編程知識就能使用 PHP建立一個真正交互的 web站點。53需求分析及詳細(xì)設(shè)計3.1 論壇的需求規(guī)劃用戶使用論壇,有一定的流程:用戶注冊登錄進入論壇,就某個話題(主題貼)展開討論,通過發(fā)貼功能發(fā)布新的話題,通過回貼的功能回復(fù)已有的話題,通過搜索功能查找已的話題;管理通過管理功能創(chuàng)建、編輯、刪除論壇的板塊,管理注冊的用戶,管理貼子。設(shè)置論壇的基本參數(shù)。這樣的流程就決定了論壇的需求。下面是系統(tǒng)的功能需求和分析:(1)用戶類有注冊、登錄和管理 3個方法,管理方法又分為修改、刪除和設(shè)置權(quán)限3個子方法,如圖 3.1所示

14、:用戶管理員修改個人信息注冊登錄 設(shè)置權(quán)限添加刪除管理用戶圖 3.1管理員與用戶關(guān)系(2)帖子類有瀏覽、發(fā)帖、回帖、搜索和管理 5個方法,管理方法又可以分為編輯、刪除、轉(zhuǎn)移指定精華 5個方法.如圖 3.2所示:用戶管理員瀏覽帖子搜索回帖 編輯指定精華轉(zhuǎn)移刪除發(fā)帖管理帖子圖 3.2管理員、用戶以及帖子之間的關(guān)系(3)用戶功能:1) 用戶注冊:用戶可以注冊為該系統(tǒng)成員(需超級管理員審批后方可發(fā)主題貼),注冊信息要求有登陸的用戶名、密碼、電子郵件等,在發(fā)表主題貼和跟貼時,記錄其登陸信息。2) 用戶登陸:對于注冊用戶(已獲審批) ,可以憑其注冊用戶名和密碼進入系6統(tǒng)。3) 修改個人信息:用戶進入自己的

15、板塊后可以修改個人信息。4) 帖子瀏覽:注冊用戶可以任意瀏覽權(quán)限內(nèi)的帖子,未注冊用戶只能瀏覽,不能回復(fù)。5) 帖子檢索:用戶可以提供關(guān)鍵字檢索可見主題帖,注冊用戶可以查看自己發(fā)表的帖子; 帖子回復(fù):注冊用戶可以回復(fù)帖子。6) 發(fā)表主題:用戶發(fā)表一個討論的主題,包括標(biāo)題和正文等。7) 帖子編輯:管理員可以對所有帖子進行轉(zhuǎn)移,刪除,加精等操作,用戶也可以對自己的帖子進行修改或者刪除。(4)管理員功能:1) 用戶的審批:注冊用戶成功后,帳號不能發(fā)主題貼,須管理員審批;審批之后用戶可以進行相關(guān)的操作。2) 論壇可以分版塊(添加、刪除):每一版塊可以有若干個版主,版主負(fù)責(zé)管理本版塊內(nèi)的帖子(刪除) 。3

16、) 刪除主題:超級管理員可以刪除任何人的主題貼;版主只能刪除本版內(nèi)任何人發(fā)表的主題貼。4) 回復(fù)主題:回復(fù)已經(jīng)發(fā)表的主題(記錄回復(fù)人信息:注冊用戶的用戶名、發(fā)表時間) 。(5)性能需求:1) 會員管理員權(quán)限區(qū)分;2) 發(fā)帖延時保持無滯后;3) 任何地方無編譯錯誤;4) 頁面美觀大方,操作方便直觀,有安全保障機制。3.2 論壇總工作流程圖(1)注冊登錄搜索管理板塊瀏覽板塊管理用戶發(fā)帖瀏覽帖子回帖管理帖子管理員用戶瀏覽者圖 3.3 論壇工作流程圖7從流程 3.3 圖上可以看到論壇完成的走向,每一個流程的節(jié)點處都有許多功能,見下表(論壇功能列表)3.4 所示:表 3.4 論壇功能論壇板塊列表 瀏覽帖

17、子 發(fā)帖回帖 搜索帖子編輯帖子 刪除帖子 精華帖 置頂轉(zhuǎn)移帖子 用戶注冊 用戶登錄 控制用戶權(quán)限修改注冊信息 設(shè)置論壇參數(shù) 管理板塊 管理用戶(2)功能界面框圖:(如圖 3.5 所示) BBS 論壇系統(tǒng)系統(tǒng)主要功能模塊會員注冊 會員管理會員登錄 帖子管理論壇板塊管理帖子發(fā)表 帖子回復(fù) 帖子瀏覽 帖子檢索圖 3.5 功能界面(3)論壇功能和用戶權(quán)限對應(yīng)表:論壇一般存在兩種用戶,分別為注冊用戶和管理員。用戶的權(quán)限是向下覆蓋的,即上級權(quán)限包含下級權(quán)限,在這里的論壇中,管理員的權(quán)限是上級權(quán)限。接下來,需要歸好類的對象及其方法分配給不同的論壇用戶。具體功能的分配結(jié)果見表 3.6所示:表 3.6用戶權(quán)限對

18、應(yīng)對象實體 功能方法 用戶類型論壇 設(shè)置參數(shù) 管理員瀏覽列表 瀏覽者創(chuàng)建板塊 管理員修改板塊 管理員板塊刪除板塊 管理員瀏覽列表 瀏覽者查看列表 瀏覽者發(fā)帖 注冊用戶帖子回帖 注冊用戶8搜索 瀏覽者編輯(自己所有) 注冊用戶編輯(全部) 管理員刪除 管理員指定精華 管理員轉(zhuǎn)移 管理員注冊 瀏覽者登陸 注冊用戶管理員登陸 管理員添加 管理員刪除 管理員用戶設(shè)定權(quán)限 管理員3.3 數(shù)據(jù)庫設(shè)計部分(1)數(shù)據(jù)庫: xxu_jsj命令:CREATE DATABASES xxu_js;(2)表的結(jié)構(gòu) bbs_admin命令:CREATE TABLE IF NOT EXISTS bbs_admin (nam

19、e varchar(32) character set gb2312 collate gb2312_bin NOT NULL COMMENT 管理員名,password varchar(32) character set gb2312 collate gb2312_bin NOT NULL COMMENT 管理員密碼,PRIMARY KEY (name) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT=管理員;-(3)表的結(jié)構(gòu) bbs_notice命令:CREATE TABLE IF NOT EXISTS bbs_notice (ID int(8) u

20、nsigned NOT NULL auto_increment,title varchar(32) collate utf8_unicode_ci NOT NULL COMMENT 公告標(biāo)題,content text collate utf8_unicode_ci NOT NULL COMMENT 公告內(nèi)容,Ndate datetime NOT NULL COMMENT 公告發(fā)布時間,PRIMARY KEY (ID) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT=公告信息 AUTO_INCREMENT=10

21、 ;- (4)表的結(jié)構(gòu) bbs_plate命令:CREATE TABLE IF NOT EXISTS bbs_plate (9ID int(8) NOT NULL auto_increment COMMENT 板塊 ID,name varchar(32) character set gb2312 collate gb2312_bin NOT NULL COMMENT 板塊名稱,PRIMARY KEY (ID) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT=板塊 AUTO_INCREMENT=6 ;(5)表的

22、結(jié)構(gòu) bbs_posts命令:CREATE TABLE IF NOT EXISTS bbs_posts (PID bigint(16) NOT NULL auto_increment COMMENT 帖子 ID,Pname varchar(64) character set gb2312 collate gb2312_bin NOT NULL COMMENT 帖子標(biāo)題,Pcontent text character set gb2312 collate gb2312_bin NOT NULL COMMENT 帖子內(nèi)容,Pauthor varchar(32) character set gb23

23、12 collate gb2312_bin NOT NULL default 佚名 COMMENT 帖子作者,Pplate int(8) NOT NULL COMMENT 帖子所屬板塊,Pdate datetime NOT NULL COMMENT 發(fā)帖時間,PRIMARY KEY (PID) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT=帖子表 AUTO_INCREMENT=47 ;(6)表的結(jié)構(gòu) bbs_reply命令:CREATE TABLE IF NOT EXISTS bbs_reply (RID

24、int(32) NOT NULL auto_increment COMMENT 回帖 ID,Rauthor varchar(32) character set utf8 collate utf8_unicode_ci NOT NULL COMMENT 回帖作者,Rcontent text character set utf8 collate utf8_unicode_ci NOT NULL COMMENT 回帖內(nèi)容,Rdate datetime NOT NULL COMMENT 回帖時間,RPID int(32) NOT NULL COMMENT 所屬帖子,Rfloor int(16) NOT

25、 NULL COMMENT 回帖樓層,PRIMARY KEY (RID) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT=回復(fù)帖子 AUTO_INCREMENT=74 ;(7)表的結(jié)構(gòu) bbs_resources命令:CREATE TABLE IF NOT EXISTS bbs_resources (REID 0r set utf8 collate utf8_unicode_ci NOT NULL COMMENT 資源名稱,RElength varchar(16) NOT NULL COMMENT 資源大小,RElink varchar(256) ch

26、aracter set utf8 collate utf8_unicode_ci NOT NULL COMMENT 鏈接地址,REmarks text character set utf8 collate utf8_unicode_ci COMMENT 資源備注信息,REtime datetime NOT NULL COMMENT 更新時間,PRIMARY KEY (REID)10) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT=資源列表 AUTO_INCREMENT=26 ;(8)表的結(jié)構(gòu) bbs_webinfo命令:CREATE TABLE IF

27、 NOT EXISTS bbs_webinfo (WID int(16) unsigned NOT NULL auto_increment COMMENT 網(wǎng)站信息 ID,Wname varchar(32) collate gb2312_bin NOT NULL COMMENT 信息名,Waddress varchar(64) collate gb2312_bin NOT NULL COMMENT 信息所在處,Wcontent text collate gb2312_bin NOT NULL COMMENT 信息內(nèi)容,Walt varchar(64) collate gb2312_bin NO

28、T NULL COMMENT 注釋信息,PRIMARY KEY (WID) ENGINE=MyISAM DEFAULT CHARSET=gb2312 COLLATE=gb2312_bin COMMENT=網(wǎng)站信息表 AUTO_INCREMENT=9 ;(9)表的結(jié)構(gòu) blog_lm命令:CREATE TABLE IF NOT EXISTS blog_lm (LID bigint(32) unsigned NOT NULL auto_increment COMMENT 留言 ID,Lauthor varchar(32) collate gb2312_bin NOT NULL COMMENT 留言

29、人,Lcontent text collate gb2312_bin NOT NULL COMMENT 留言內(nèi)容,Ldate datetime NOT NULL COMMENT 留言時間,LUID bigint(32) NOT NULL COMMENT 留言對象,PRIMARY KEY (LID) ENGINE=MyISAM DEFAULT CHARSET=gb2312 COLLATE=gb2312_bin COMMENT=留言表 AUTO_INCREMENT=1 ;(10)表的結(jié)構(gòu) blog_log命令:CREATE TABLE IF NOT EXISTS blog_log (LID big

30、int(32) unsigned NOT NULL auto_increment COMMENT 日志 ID,Ltitle varchar(64) collate gb2312_bin NOT NULL COMMENT 日志標(biāo)題,Lauthor varchar(32) collate gb2312_bin NOT NULL COMMENT 日志作者,Lcontent text collate gb2312_bin NOT NULL COMMENT 日志內(nèi)容,Ldate datetime NOT NULL COMMENT 日志發(fā)表時間,Lcategory varchar(32) collate

31、gb2312_bin default NULL COMMENT 文章分類,PRIMARY KEY (LID) ENGINE=MyISAM DEFAULT CHARSET=gb2312 COLLATE=gb2312_bin COMMENT=用戶日志 AUTO_INCREMENT=2 ;(11)表的結(jié)構(gòu) blog_music命令:CREATE TABLE IF NOT EXISTS blog_music (MID bigint(32) unsigned NOT NULL auto_increment COMMENT 音樂 ID,Mname varchar(32) character set gb2

32、312 collate gb2312_bin NOT NULL COMMENT 音樂名,11Maddress varchar(255) character set gb2312 collate gb2312_bin NOT NULL COMMENT 音樂地址,Mdate datetime NOT NULL COMMENT 音樂上傳時間,Mauthor varchar(32) character set gb2312 collate gb2312_bin NOT NULL COMMENT 歌曲歌手,Mstowr varchar(32) character set gb2312 collate g

33、b2312_bin NOT NULL COMMENT 上傳人,PRIMARY KEY (MID) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=2 ;(12)表的結(jié)構(gòu) blog_photo命令:CREATE TABLE IF NOT EXISTS blog_photo (PID bigint(32) unsigned NOT NULL auto_increment COMMENT 相冊 ID,Pname varchar(32) collate gb2312_bin NOT NULL COMME

34、NT 相冊圖片名,Paddress varchar(254) collate gb2312_bin NOT NULL COMMENT 圖片地址,Pdate datetime NOT NULL COMMENT 圖片上傳時間,Pauthor varchar(32) collate gb2312_bin NOT NULL COMMENT 圖片上傳人,PRIMARY KEY (PID),UNIQUE KEY Paddress (Paddress) ENGINE=MyISAM DEFAULT CHARSET=gb2312 COLLATE=gb2312_bin COMMENT=用戶相冊 AUTO_INCR

35、EMENT=1 ;(13)表的結(jié)構(gòu) users命令:CREATE TABLE IF NOT EXISTS users (UID bigint(32) unsigned NOT NULL auto_increment COMMENT 用戶 ID,Uname varchar(32) collate gb2312_bin NOT NULL COMMENT 用戶名,Upwd varchar(32) collate gb2312_bin NOT NULL COMMENT 用戶密碼,Uemail varchar(64) collate gb2312_bin NOT NULL COMMENT 用戶 E-ma

36、il,Unickname varchar(32) collate gb2312_bin NOT NULL COMMENT 用戶昵稱,Uportrait varchar(254) collate gb2312_bin NOT NULL COMMENT 用戶頭像,Uage int(8) unsigned default 0 COMMENT 用戶年齡,Uautograph varchar(255) collate gb2312_bin default NULL COMMENT 用戶個性簽名,PRIMARY KEY (UID),UNIQUE KEY Uname (Uname) ENGINE=MyISA

37、M DEFAULT CHARSET=gb2312 COLLATE=gb2312_bin COMMENT=用戶信息表 AUTO_INCREMENT=4 ;3.4 程序設(shè)計部分(1)系統(tǒng)注冊模塊: ?php$name=trim($_POSTuname); / 接收表單中的數(shù)據(jù)$pwd=trim($_POSTpassword); /獲取密碼$pwd0=trim($_POSTpassword0); /獲取重復(fù)的密碼12$email=trim($_POSTemail); /獲取 E-mail地址if($name= or $pwd= or $pwd0= or $email=) / 判斷是否填寫完整echo

38、 請完善您的信息!;else if($pwd!=$pwd0) / 判斷兩次密碼的一致性echo 兩次密碼輸入不一致!請重新輸入!;else$query=select * from users where Uname=$name; / 判斷用戶名是否已存在$ynname=mysql_query($query,$link);$rows=mysql_num_rows($ynname);if($rows)echo 此用戶名(.$name.)已存在!;else / 用戶名不存在時插入用戶輸入的信息$Iquery=insert into users(Uname,Upwd,Uemail)values($na

39、me,$pwd,$email);$result=mysql_query($Iquery,$link);if($result)$_SESSIONadmin=$name;echo alert(注冊成功!);window.location.href=index.php; /提示注冊成功,確定后跳轉(zhuǎn)到首頁?(2)系統(tǒng)登陸模塊:?php$admin=false;session_start();include back/sqlpwd.php; / 調(diào)用全局 MySQL用戶名和密碼信息$_SESSIONadmin=null;$uname=$_POSTuname;$upwd=$_POSTupwd;$query

40、=select * from users where Uname=$uname and Upwd=$upwd;$result=mysql_query($query,$link); / or die(查詢失??!.mysql_errno().:.mysql_error()$uinfo=mysql_fetch_array($result);if($uinfo)$_SESSIONadmin=$uinfoUname;13mysql_free_result($result);echo window.navigate(index.php);echo 如果沒有自動跳轉(zhuǎn),請點擊返回首頁;?(3)系統(tǒng)發(fā)表帖子模塊

41、:?php$plate=mysql_query(select *from bbs_plate); /查詢板塊表$Pplates=mysql_fetch_array($plate);$Pnum=mysql_num_rows($plate); /統(tǒng)計板塊個數(shù)$Pnum$i=1;doecho .$Pplatesname.   $i+;while($i=$Pnum and $Pplates=mysql_fetch_array($plate); if($_SESSIONadmin)echo 會員發(fā)帖;? 發(fā)表新帖 作者: 標(biāo)題: 選擇板塊: option name=S_pl

42、ate value= 正文:      注意:在發(fā)表之前請確定選擇所屬板塊! ?php /發(fā)表帖子的提交處理程序$pname=trim($_POSTpost_name); / 獲取新發(fā)表的帖子名$S_plate=$_POSTS_plate; / 獲取所屬板塊echo $S_plate;for($s=1;$s=$count;$s+)/$S_plate=$count$s;$P_content=trim($_POSTP_content); /獲取帖子內(nèi)容if($pname= or $S_plate= or $P_content=)echo 填寫不完整,請完善!

43、;else$newpost=mysql_query(insert into bbs_posts(Pname,Pcontent,Pauthor,Pplate,Pdate)values($pname,$P_content,$_SESSIONadmin,$S_plate,NOW()or die(mysql_error();if($newpost)echo alert(發(fā)表成功!);window.location.href=posts.php?pid=.$S_plate.;?(4)系統(tǒng)回復(fù)帖子模塊:快速回復(fù): 15 ?php$replytxt=trim($_POSTreplytxt); /獲取回內(nèi)容i

44、f($_SESSIONadmin and trim($replytxt)!=)$last=mysql_query(SELECT * FROM bbs_reply where RPID=$pid order by Rfloor desc limit 0,1); /查詢最高樓層數(shù)$Rrnum=mysql_fetch_array($last); /獲取最高樓層數(shù)$now=$RrnumRfloor; /回復(fù)時用的樓層數(shù)$nowfloor=(int)$now+1;/INSERT INTO bbs_reply (RID, Rauthor, Rcontent, Rdate, RPID, Rfloor) VA

45、LUES (NULL, admin, 測試回復(fù) 0, NOW(), 2, 1);$Rinsert=mysql_query(INSERT INTO bbs_reply (RID, Rauthor, Rcontent, Rdate, RPID, Rfloor) VALUES (NULL, $_SESSIONadmin,$replytxt,NOW(),$pid,$nowfloor); / 插入回帖內(nèi)容if($Rinsert) /判斷發(fā)表成功與否$replytxt=;echo 發(fā)表成功!;/Header(location:post.php?pid=.$pid);echo window.location

46、.href=post.php?pid=.$pid.; elseecho 警告:游客不能發(fā)帖、回復(fù)!;?(5)管理員功能模塊:1) 公告管理(增、刪、改)2) 用戶管理(刪、改)3) 帖子管理(增、刪、改)4) 板面管理(增、刪、改)5) 修改密碼(修改)6) 網(wǎng)站信息(修改)7) 下載資源(增、刪、改)8) 網(wǎng)站預(yù)覽(查看)169) 友情鏈接(增、刪、改)3.5 關(guān)鍵技術(shù)(1)分頁:帖子列表、下載資源、回帖等金條信息的分布問題解決辦法:現(xiàn)以帖子列表為例說明,顯示某板塊的帖子先查詢本板塊的帖子總數(shù),使用變量$pcont=mysql_num_rows()獲得查詢總數(shù),設(shè)變量$P 為每頁顯示條數(shù),$

47、page_c 為總頁數(shù)等于$pcont/$p 在$pcont/$p 的余數(shù)大于等于 1時$page_c=$pcont/$p 等于 0時$page_c=$pcont/$p +1。目前已得到總頁數(shù)和每頁顯示條數(shù),接下來是顯示其中頁數(shù)為$page 的頁面,從何處開始查詢,因為在 MySQL時可以從倒數(shù)第某條開始查詢幾條,接下來就確定查詢開始的位置$onset,$onset=($page-1)*$p+1,因此查詢語句為:select * from 表名 where 查詢條件 limit $onset,$p。接下來是顯示分頁結(jié)果,要求頁數(shù)為第一頁時不顯示“前一頁” ,當(dāng)前頁數(shù)沒有超鏈接,頁數(shù)為最后一頁時

48、不顯示“下一頁” 。實現(xiàn)方法:判斷當(dāng)前頁是否為第一頁,是,則輸出空內(nèi)容,否,則輸出“前一頁” ,是否顯示“下一頁”同上,在“前一頁”與“下一頁”之間輸出所有頁數(shù),使用 for循環(huán)輸出,在循環(huán)內(nèi)部做判斷欲輸出的頁數(shù)是否等于當(dāng)前頁數(shù),是,則只輸出頁數(shù),否,則輸出帶超鏈接的頁數(shù),并在頁面文件開始處獲取通過地址欄傳遞過來的頁數(shù),就可以查詢輸出了。示例代碼:0)$c_page=(int)($count/$p)+1; /總頁數(shù)+1else$c_page=(int)($count/$p); /總頁數(shù)+0if($page=1)$onset=0; /查詢起始(倒數(shù))位置17elseif($page!=1) $o

49、nset=$p*($page-1)-1;$result=mysql_query(SELECT * FROM bbs_resources ORDER BY REID desc LIMIT $onset,$p);$res=mysql_fetch_array($result);? ID編號 名稱 資源介紹 a target=_blank href= a target=_blank href= TOP               1) /檢查是否是第一頁 不是則顯

50、示$early=$page-1;echo 前一頁  /鏈接到 re并傳遞頁數(shù) page /是每一頁則不顯示“第一頁”for($i=1;$i=$c_page;$i+)if($i!=$page) / 判斷當(dāng)傳遞的頁數(shù)!=當(dāng)前要顯示數(shù)字時輸出頁數(shù)鏈接echo .$i.  /鏈接到 re并傳遞頁數(shù) pageelseif($i=$page)echo $page; / 判斷當(dāng)傳遞的頁數(shù)=當(dāng)前要顯示數(shù)字時輸出頁數(shù)(無鏈接)/檢查是否是最后一頁18if ($page$c_page) / 不是最后一頁是顯示 “下一頁” 否則不顯示$lastp=$page+1;echo 下一頁; echo 當(dāng)

51、前第.$page.頁 總共.$c_page.頁;?(2)連接數(shù)據(jù)庫重復(fù)代碼處理: 連接數(shù)據(jù)庫的語句雖然簡單但重復(fù)很多次,一旦修改數(shù)據(jù)庫信息則會出現(xiàn)修改很麻煩,為此要建立一個真心誠專門連接數(shù)據(jù)庫的信息,而在其他頁面加上一句引用這個頁面的語句就行了,一旦數(shù)據(jù)庫連接信息變動了,只要修改一下那個專門的頁面就行了。示例代碼:Sqlpwd.php文件其他頁面調(diào)用:(3)后臺管理安全: 在后臺的每個頁面(除了后臺登錄頁面)的之外加上些 PHP語句作判斷管理員是否已登錄,是,則顯示頁面內(nèi)容,否,則返回后臺登錄頁面。這樣非管理員用戶是無法登錄后臺(無密碼登錄) ,而在前臺首頁進入后臺的入口,而只有“admin”

52、用戶登錄時才會顯示后臺登錄鏈接,除了這個方法進入后臺登錄頁面外,還可以直接輸入網(wǎng)址進入后臺登錄頁面,但必須有管理權(quán)限。示例代碼:19(4)(回)帖子顯示格式:發(fā)帖回帖時都是用的文本輸入框,然而讀取用文本輸入框?qū)懭氲臄?shù)據(jù)時直接顯示在網(wǎng)頁上是沒有格式的,沒有換行基本的段落都沒有了,為解決這個問題,在輸出時也用文本框但要設(shè)置其屬性為自動變長而沒有滾動條,這樣就有了輸入時的段落,也會看起來就像是直接輸出到網(wǎng)頁中又有段落修飾過的樣子。 (5) 網(wǎng)站版權(quán)信息設(shè)置:因網(wǎng)站每個頁面都要顯示同樣的版權(quán)信息,且站主可以在以后能修改看自定義的版權(quán)信息,這樣就要用到重復(fù)代碼的重復(fù)調(diào)用和可修改。解決辦法就是版權(quán)信息的

53、HTML 代碼是從數(shù)據(jù)庫里讀取的,只用在每個頁面加上 PHP 代碼連接數(shù)據(jù)庫并輸出版權(quán)信息 HTML 代碼,在后臺有版權(quán)信息的修改功能,站主可以看以自定義欲顯示的內(nèi)容,但必須用 HTML 代碼才行。3.6 網(wǎng)站文件結(jié)構(gòu)images(圖片文件夾)back(后臺文件夾)| backlogon.php(后臺登錄頁面)| changepwd.php(修改后臺管理員密碼)| delnot.php(刪除公告)| delplate.php(刪除板塊)| delpost.php(刪除帖子)| delre.php(刪除下載資源)| delreply.php(刪除回復(fù))| deluse.php(刪除用戶)| ed

54、inot.php(編輯公告)| ediplate.php(編輯板塊)20| edipost.php(編輯帖子)| edire.php(編輯下載資源信息)| ediuse.php(編輯用戶信息)| ediwebinfo.php(編輯網(wǎng)站信息)| index.php(后臺首頁)| left.php(左側(cè)管理面板)| main.php(后臺管理歡迎頁面)| m_notices.php(管理公告)| m_plate.php(管理板塊)| m_post.php(管理帖子)| m_post_re.php(管理帖子和回復(fù))| m_re.php(管理下載資源)| m_user.php(管理用戶)| m_web

55、info.php(管理網(wǎng)站信息)| sqlpwd.php(MySQL連接信息)Connections()| mysql.php(MySQL信息)Scripts()| AC_RunActiveContent.js()SpryAssets()| SpryTabbedPanels.css()| SpryTabbedPanels.js()| SpryValidationTextField.css()| SpryValidationTextField.js()index.php(BBS首頁)logout.php(退出處理)mm_menu.js()m_term_info.php(網(wǎng)站制作人信息)newpo

56、st.php(發(fā)表新帖)newusers.php(新用戶注冊)notice.php(公告)post.php(帖子及回復(fù))posts.php(帖子列表)re.php(下載資源表)selectpost.php(搜索帖子)sqlpwd.xml(MySQL信息)uselogin.php(用戶登錄處理程序)usrinfo.php(用戶個人信息)213.7 論壇設(shè)計存在問題1) 管理員對用戶設(shè)置權(quán)限還未實現(xiàn)2) 管理員對帖子指定精華也沒實現(xiàn)3) 注冊用戶現(xiàn)在不需要經(jīng)過管理員審批4) 個人信息還比較簡單5) 注冊擁用戶陸后還無法對自己發(fā)表過的帖子進行管理(修改、刪除)6) 上傳圖片功能還無法實現(xiàn),用戶無法上傳頭像、帖圖,管理員無法上傳 LOGO等圖片7) 發(fā)帖和加帖內(nèi)容還只能由純文本形式出現(xiàn),還不能加入圖片、音樂、附件之類8) 網(wǎng)站總體的界面還沒有進一步美化、規(guī)劃,看起來布局不是很合理也不美觀9) 論壇的安全性有待測試和完善224總結(jié)23參考文獻1鄒天思,孫鵬等。 PHP 從入門到精通 。清華大學(xué)出版社,2008 年2Luke Welling Laura Thomson PHP 和 MySQL Web開發(fā) 機械工業(yè)出版社 2005年3(美)Larry Ullman PHP 6 與 MySQL 5基礎(chǔ)教程 人民郵電出版社 2008 年24致 謝

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!