第一篇:02網(wǎng)絡(luò)留言板系統(tǒng)
02:網(wǎng)絡(luò)留言板系統(tǒng) 【項目背景】
擁有一個功能強大且富有個性的網(wǎng)絡(luò)留言板,是每個大型網(wǎng)站系統(tǒng)的追求。之所以這樣,是因為網(wǎng)絡(luò)留言板是網(wǎng)站與訪客之間進行交流的主要手段。一個設(shè)計合理,界面優(yōu)美的網(wǎng)絡(luò)留言板程序能從側(cè)面體現(xiàn)網(wǎng)站良好的服務(wù),給來訪用戶留下美好的印象,增強用戶對網(wǎng)站的信心。
【功能需求】
網(wǎng)絡(luò)留言板系統(tǒng)包含兩大部分,分別為前臺部分和后臺部分。前臺部分
對于臨時用戶,主要包含瀏覽留言等功能。
對于注冊用戶,主要包含注冊、登陸、添加留言、瀏覽留言等功能。后臺部分
對于管理員用戶,主要包含管理用戶、管理留言等功能。
【技術(shù)功能需求】
網(wǎng)絡(luò)留言板系統(tǒng)需要通過JSP+Javabean+Servlet技術(shù)來編碼,采用MVC解決方案,利用三層架構(gòu)來組織包。該系統(tǒng)實現(xiàn)功能實際上跟現(xiàn)實中留言本的功能一樣,不同的只是一個是實體而另一個是虛擬體。當(dāng)瀏覽者想留言時,只需要在規(guī)定的頁面填寫相應(yīng)的內(nèi)容,然后單擊“提交”按鈕就可以把留言保存起來,同時還可以實現(xiàn)管理留言功能。
第二篇:留言板系統(tǒng) 設(shè)計說明書
留 言 板 系 統(tǒng) 設(shè) 計 說 明 書
電商141 魏巍 2016.06.2
4本留言板系統(tǒng)基于Windows操作系統(tǒng)平臺,web服務(wù)器為IIS,數(shù)據(jù)庫服務(wù)器為Microsoft access。
其工作流程為:所有人都可以在該系統(tǒng)留言,并且能查看留言,管理員在通過登錄驗證后,可以發(fā)表留言,查看留言,并且能對用戶的留言進行回復(fù)和刪除。
該留言板具有的主要功能如下:
1、可以按照留言的id進行排序;
2、友好簡潔的管理界面,便于管理員維護留言板;
3、管理員具有回復(fù)和刪除留言的權(quán)限;
4、管理員可以修改留言板頁面的名稱和網(wǎng)址以及每頁顯示的留言數(shù);
5、擁有更多留言者的信息,包括昵稱、主題、郵箱等;
6、具有防止留言客戶非法進入管理界面功能;
一、利用Microsoft access創(chuàng)建一個數(shù)據(jù)庫liuyanban.mdb并建立兩個數(shù)據(jù)庫表,一個是留言信息表liuyan,另一個是用來存放用戶賬戶和密碼信息的表user
二、在編寫ASP腳本進行數(shù)據(jù)庫操作前,必須先給數(shù)據(jù)庫建立一個基本ADO對象的連接,代碼如下:
三、建立一個留言板首頁index.asp,所有用戶都可以進入此系統(tǒng),可以看到留言的主題、內(nèi)容、留言的時間,還有留言被瀏覽的次數(shù)。這些信息都是來自于數(shù)據(jù)庫liuyanban.mdb,此頁面還可以連接到發(fā)表留言頁面guestbok.asp和后臺管理頁面admin.asp
四、建立一個所有用戶都可進入,用來留言的頁面guestbook.asp,在頁面內(nèi)可輸入留言主題,留言內(nèi)容,留言者昵稱,和電子郵箱,點提交以后,所輸入的記錄會顯示在留言板首頁index.asp,同時也會保存至數(shù)據(jù)庫表liuyan中
五、建立一個管理員登錄頁面login.asp。對于一個留言板系統(tǒng)來說,必不可少的是管理員的登錄系統(tǒng),此系統(tǒng)只有管理員可以登錄,普通用戶無法登陸,用來管理留言。在輸入正確的用戶名和密碼以后才可以進入到后臺管理頁面admin.asp,如果密碼或用戶名輸入錯誤或者是未輸入,則會由登錄檢驗界面cklogin.asp檢驗后轉(zhuǎn)入靜態(tài)的錯誤提示頁面error.html。如果點擊此頁面中的“放棄登錄”,則而會跳轉(zhuǎn)到留言板首頁index.asp
六、建立登錄檢驗界面cklogin.asp用于檢驗登陸的用戶是不是管理員,如果不是,則會跳轉(zhuǎn)至錯誤提示頁面error.html
七、建立一個后臺管理的系統(tǒng)admin.asp.在這個頁面中,管理員可以直接看到每條留言的id,主題,內(nèi)容,留言時間。點擊每條留言記錄后面“回復(fù)”鏈接到回復(fù)頁面reply.asp,點擊“刪除”可以將這條留言直接刪除掉,上方的“退出管理”可以直接跳轉(zhuǎn)到留言板的首頁index.asp
八、建立回復(fù)頁面reply.asp便于管理員對留言進行回復(fù),可以通過后臺管理頁面跳轉(zhuǎn)到此頁面,并且會在下方通過now()函數(shù)顯示回復(fù)的時間
九、建立刪除界面del.asp,通過request對象取出數(shù)據(jù)庫表liuyan中的id,在后臺管理頁面將留言信息刪除后,直接跳轉(zhuǎn)至留言板首頁index.asp
十、建立一個靜態(tài)的錯誤提示頁面error.html,在管理員登錄錯誤,或者非管理員用戶登錄時跳轉(zhuǎn)到此頁面用來提醒。
十一、有一個將記錄寫入數(shù)據(jù)庫的文件save.asp,在發(fā)表留言的時候而將留言的信息寫入到數(shù)據(jù)庫liuyanban.mdb
第三篇:網(wǎng)絡(luò)留言板--需求分析
網(wǎng)絡(luò)留言版軟件性分析報告
軟件工程
班級: 小組成員:
網(wǎng)絡(luò)留言板需求分析
一、網(wǎng)絡(luò)留言板系統(tǒng)的開發(fā)意義
1.一個功能強大且富有個性的網(wǎng)絡(luò)留言版,是每一個大型網(wǎng)站系統(tǒng)的追求,而且網(wǎng)絡(luò)留言板是網(wǎng)站與訪客之間交流的重要手段。一個設(shè)計合理,界面優(yōu)美的留言板程序能夠從側(cè)面體現(xiàn)網(wǎng)站良好的服務(wù),給來來訪的用戶留下好的印象,增強用戶對網(wǎng)站的信心。2.對于每一個網(wǎng)站,留言板功能模塊已經(jīng)成為必不可少的一部分,鑒于這樣的形勢下開發(fā)一個具有廣泛適應(yīng)性,功能廣泛性,符合大眾體驗要求,可嵌入性強的留言板模塊,意義顯得格外重要。
二、系統(tǒng)目標
1.總目標:
留言板提供網(wǎng)站訪客的給網(wǎng)站留言功能,通過留言使用戶與網(wǎng)站維護者很好的交流,來方便用戶和網(wǎng)站的維護,同時可以更好的服務(wù)用戶。留言板主要接收訪問者輸入的信息,將其存入網(wǎng)站數(shù)據(jù)庫,并且通過Web頁面將訪客的留言顯示出來。訪客也可以通過注冊成為網(wǎng)站會員。2.留言板功能目標:
1>留言功能:訪客可以創(chuàng)建留言,也可以跟帖留言,同時也可以刪除自己的留言和評論。但是無法刪除和修改別的訪客的留言信息。網(wǎng)站管理員可以根據(jù)留言信息做出相印的回復(fù),也可以刪除訪客留言;
2>用戶注冊功能:網(wǎng)站的瀏覽者用戶可以在網(wǎng)站上進行注冊,成為網(wǎng)站的會員 3.性能目標:
1> 界面美觀;
2> 易于操作,方便學(xué)習(xí)和使用; 3> 具有好的擴展性和跨平臺型; 4> 具有很好的安全性;保證用戶信息的安全,同時對不同的用戶具有不同的權(quán)限。
三、結(jié)構(gòu)
四、功能需求
1.前臺功能需求:
a)網(wǎng)站的所有瀏覽者用戶可以瀏覽網(wǎng)站上的留言信息
i.通過關(guān)鍵字搜索瀏覽 ii.根據(jù)網(wǎng)站信息的默認排序瀏覽
b)網(wǎng)站的瀏覽者用戶可以在網(wǎng)站上進行注冊,成為網(wǎng)站的會員
i.注冊用戶類型 ii.注冊用戶訪問權(quán)限 c)會員功能
i.登錄網(wǎng)絡(luò)留言板 ii.回復(fù)留言 iii.瀏覽留言 iv.添加留言 v.管理自己的留言的功能 vi.管理個人信息
功能需求分析圖:
前臺的一個用例圖:
2.后臺功能需求:
a)管理員用戶可以管理所有的注冊用戶
i.注冊用戶的操作權(quán)限的修改 ii.注冊用戶信息查詢
b)管理員用戶可以管理所有注冊用戶的留言信息
i.留言信息的回復(fù) ii.留言信息刪除 c)管理員功能
i.管理留言信息分類 ii.管理用戶權(quán)限 iii.分布網(wǎng)站信息
后臺的一個用例圖:
五、非功能需求
1.安全性
a)注冊到網(wǎng)站的用戶個人信息必要保密 b)用戶的留言信息需要進行必要的保密
c)對于不同的瀏覽者瀏覽留言應(yīng)該限定訪問權(quán)限 2.適應(yīng)性
a)網(wǎng)絡(luò)留言板模塊應(yīng)該具有很強的可擴展性,能夠根據(jù)不同的網(wǎng)站增加適應(yīng)性功能 3.方便性
a)界面優(yōu)美,設(shè)計人性化
用戶操作方便,易于學(xué)習(xí)。
六、環(huán)境需求
硬件環(huán)境: 個人計算機:內(nèi)存:2G
主頻:2.2GHZ
操作系統(tǒng):Win7 軟件環(huán)境:
Mircosoft SQL server 2005 Tomcat 6.0 JDK 1.6
第四篇:留言板
日照職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(論文)
php留言板系統(tǒng)
學(xué)生姓名 院 部
電子信息科學(xué)與工程學(xué)院 專 業(yè) 計算機應(yīng)用技術(shù) 指導(dǎo)老師 魯 紅 日 期 2015-05-19
目錄
一 留言板簡介..........................................................................................................................................4 二 留言板設(shè)計原理..................................................................................................................................4 三 四 五 PHP技術(shù)介紹...................................................................................................................................4 PHP技術(shù)優(yōu)點...................................................................................................................................4 MYSQL介紹......................................................................................................................................6
六 留言板系統(tǒng)的概要設(shè)計......................................................................................................................6(一)系統(tǒng)開發(fā)環(huán)境...............................................................................................................................6(二)php語言選擇...............................................................................................................................6(三)系統(tǒng)功能.......................................................................................................................................7 七 留言板詳細設(shè)計..................................................................................................................................7(一)數(shù)據(jù)庫設(shè)計...................................................................................................................................8(二)留言板數(shù)據(jù)庫連接 寫入和保存..................................................................................................9(三)留言板文件夾中文件的介紹.....................................................................................................15(四)留言板首頁設(shè)計.........................................................................................................................15 八 總結(jié)....................................................................................................................................................15 九 留言板特色和不足............................................................................................................................15 參考文獻:................................................................................................................................................16
第1頁
留言板系統(tǒng)
摘要:隨著Internet的發(fā)展,網(wǎng)站的作用越來越重要,被稱之為繼廣播、報紙、雜志、電視后的
第五種媒體——數(shù)字媒體,擁有眾多優(yōu)勢,所以現(xiàn)在不少企業(yè)都有或正在建設(shè)自己的網(wǎng)站。而留言板作為網(wǎng)站重要的一個部分,從來就是一個大家交流的平臺!留言板是一種最為簡單的BBS應(yīng)用,借助留言板,瀏覽者可以張貼留言的方式給站長、版主或其他瀏覽者進行留言和提問。
本文主要介紹留言板系統(tǒng)的設(shè)計思路和制作過程,從留言板的重要性開始,介紹我的留言版采用的PHP技術(shù)和MYSQL數(shù)據(jù)庫,進而闡述整個留言板系統(tǒng)的制作過程和具體的設(shè)計思路。該留言板較全面地利用PHP技術(shù)實現(xiàn)留言板的基本功能:留言、查看、刪除,并增加了一些特色功能。最后介紹自己在設(shè)計過程的心得體會。關(guān)鍵詞:留言板,PHP,MYSOL數(shù)據(jù)庫
第2頁
引言
Internet起源于20世紀60年代末、70年代初,當(dāng)時,美國國防部為了將充斥于軍事基地內(nèi)各種廠商的電腦主機互連,讓它們可以進行數(shù)據(jù)交換以便研究工作順利進行,于是成立了ARPA網(wǎng)絡(luò)計劃。ARPA計劃嘗試建設(shè)1個網(wǎng)絡(luò)系統(tǒng),它可將各種不同廠商的電腦連接起來。隨著這個計劃的成功,各學(xué)術(shù)單位,研究機構(gòu)也紛紛與ARPA計劃所建立的ARPANet連接。到了20世紀80年代,Internet這個名詞因勢產(chǎn)生,它代表著這10年來所構(gòu)建涵蓋全球各地的網(wǎng)絡(luò)系統(tǒng)。從1990年起,商業(yè)使用的Internet在美國急速地擴大,而Internet也從原來屬于少數(shù)人使用的網(wǎng)絡(luò)系統(tǒng)轉(zhuǎn)變?yōu)槠胀ò傩找材軌蚴褂玫木W(wǎng)絡(luò)系統(tǒng)。
最初的Internet資源服務(wù)都還停留在文本模式,1989年,量子物理實驗室(CERN)下的1個研究小組著手開發(fā)1種全新的Internet服務(wù),它可以在網(wǎng)絡(luò)上傳送圖片、文本、影像、聲音等多媒體數(shù)據(jù)。于是由Tim Berners Lee領(lǐng)導(dǎo)的小組開發(fā)出了1種主從、分布式的網(wǎng)絡(luò)服務(wù)系統(tǒng),這就是www.tmdps.cnpile編譯或鏈接程序,可在服務(wù)器端直接執(zhí)行,這無疑是更加方便了我們的編寫過程。
2、使用編程環(huán)境方便簡單。可以使用普通的記事本之類的文本編輯器,即可進行編輯設(shè)計,如:Windows的記事本、FrontPage等文本編輯器。也可以用dreamweaver和專業(yè)的Microsoft Visual InterDev開發(fā)工具。
3、瀏覽網(wǎng)頁方便,交互速度也快。PHP是運行在服務(wù)器端,所以我們無須擔(dān)心瀏覽器是否支持PHP所使用的編程語言,用戶端只要使用可執(zhí)行HTML碼的瀏覽器,即可瀏覽Personal home pages所設(shè)計的網(wǎng)頁內(nèi)容。PHP在服務(wù)器端運行,當(dāng)程序執(zhí)行完畢后,服務(wù)器僅將執(zhí)行的結(jié)果返回給客戶瀏覽器,這樣也就減輕了客戶端瀏覽器的負擔(dān),大大提高了交互的速度。
4、提供多種編程語言。PHP能與任何ActiveX scripting語言相容。除了可用VBScript或JScript語言來設(shè)計外,還通過plug-in的方式,使用由第三方所提供的其他腳本語言,譬如Perl等。
5、提高代碼的安全性。Personal home pages的程序代碼隱藏,已編碼的腳本在運行時由腳本引擎解碼,因此不需要單獨的應(yīng)用程序。客戶端上僅可以看到由PHP輸出的動態(tài)HTML文件。因而可以避免所寫的源程序被他人剽竊,也提高了程序的安全性。
6、功能強大。編程是面向?qū)ο蟮模∣bject oriented),并可擴展ActiveX Server組件功能。Personal home page Components(ActiveX服務(wù)器組件)具有無限可擴充性。你可以使用任何編程語言來編寫你所需要的Personal Server 組件。可以使用Visual Basic、Java、Visual C++、COBOL等編程語言來編寫你所需要的Personal Server Component。也可以使用第三方組件或自己開發(fā)的Personal Server組件。理論上說,可以實現(xiàn)任何功能。
7、訪問數(shù)據(jù)庫十分方便。可以通過PDO(Personal Data Objects,微軟的一種新的數(shù)據(jù)訪問模型,是一種可以提供WEB頁面開發(fā)者輕松存取Internet的數(shù)據(jù)庫,并可以在用戶端實現(xiàn)網(wǎng)上立即、即時更新顯示的最新WEB頁面數(shù)據(jù)庫技術(shù)。)非常方便地訪問數(shù)據(jù)庫。
總之,PHP從字面上說,包含三方面含義: 1.Personal:PHP使用了微軟的Personal技術(shù)。Personal(COM)技術(shù)是現(xiàn)在Microsoft軟件的重要基礎(chǔ)。它采用封裝對象,程序調(diào)用對象的技術(shù),簡化編程,加強程序間合作。PHP本身封裝了一些基本組件和常用組件,有很多公司也開發(fā)了很多實用組件。只要你可以在服務(wù)器上安裝這些組件,通過訪問組件,你就可以快速、簡易地建立自己的WEB應(yīng)用。
2.home:PHP運行在服務(wù)器端。這樣就不必擔(dān)心瀏覽器是否支持PHP所使用的編程語言。PHP的編程語言可以是VBSCRIPT和JSCRIPT。VBSCRIPT是VB的一個簡集,會VB的人可以很方便的快速上手。然而NETscape瀏覽器不支持客戶端的VBSCRIPT,所以最好不要在客戶端使用VBSCRIPT。而在服務(wù)器端,則無需考慮瀏覽器的支持問題。NETscape瀏覽器也可以正常顯示PHP頁面。
3.page:PHP返回標準的HTML頁面,可以正常地在常用的瀏覽器中顯示。瀏覽者查看頁面源文件時,看到的是PHP生成的HTML代碼,而不是PHP程序代碼。這樣就可以防止別人抄襲程序。由此可以看出,PHP是在IIS下開發(fā)WEB應(yīng)用的一種簡單、方便的編程工具。在了解了VBSCRIPT的基本語法后,只需要清楚各個組件的用途、屬性、方法,就可以輕松編寫出自己的PHP系統(tǒng)。
第5頁
而我這次所開發(fā)的留言本系統(tǒng),主要是利用PHP技術(shù)的簡單和實用的特點,以及PHP使用的廣泛性,而且非常適合于網(wǎng)絡(luò)中小型系統(tǒng)開發(fā)。
五 MYSQL介紹
MySQL是一個小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。在2008 年1月16號被Sun公司收購。而2009年,SUN又被Oracle收購.對于Mysql的前途,沒有任何人抱樂觀的態(tài)度.目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。
1.使用C和C++編寫,并使用了多種編譯器進行測試,保證源代碼的可移植性 2.支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多種操作系統(tǒng)
3.為多種編程語言提供了API。這些編程語言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
4.支持多線程,充分利用CPU資源
5.優(yōu)化的SQL查詢算法,有效地提高查詢速度
6.既能夠作為一個單獨的應(yīng)用程序應(yīng)用在客戶端服務(wù)器網(wǎng)絡(luò)環(huán)境中,也能夠作為一個庫而嵌入到其他的軟件中提供多語言支持,常見的編碼如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名
7.提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫連接途徑 8.提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫操作的管理工具 9.可以處理擁有上千萬條記錄的大型數(shù)據(jù)庫
六 留言板系統(tǒng)的概要設(shè)計
(一)系統(tǒng)開發(fā)環(huán)境
基于微軟平臺PHP環(huán)境,使用MYSQL數(shù)據(jù)庫。適用于IE8.0以上版本瀏覽器,Win2000+APACHE 或win7+APACHE以上運行環(huán)境。(本人用的win7+APACHE測試)。
(二)php語言選擇
選擇一個好的編程語言十分的重要,當(dāng)前,面對眾多的編程語言,很多人無從選擇,而本人看到PHP的以上眾多特點,個人認為:
MYSQL后臺數(shù)據(jù)庫+PHP服務(wù)器端程序+客戶端IE瀏覽器,是一個精練實用高效的組合模式。在這種使用模式中,PHP程序無疑是最重要的,是溝通客戶端和后臺數(shù)據(jù)庫之間的橋梁。在PHP程序中,通過數(shù)據(jù)庫語言,建立對MYSQL數(shù)據(jù)庫的連接,是客戶能夠訪問后
第6頁
臺數(shù)據(jù)庫的前提。
鑒于前面介紹PHP優(yōu)點的原因,又有上面組合的優(yōu)勢,本人的留言板使用PHP語言也是十分正確而實用的。
(三)系統(tǒng)功能
該留言板具有的主要功能如下:
1.可以按照發(fā)言時間的先后順序,留言板自動排序; 2.留言板的主要欄目組成圖
3.本留言板不需注冊,陌生人即可留言。
4.因為是個人留言板所以具有留言、查看、刪除的功能。
七 留言板詳細設(shè)計
有了技術(shù)和流程圖以及留言板要實現(xiàn)的功能,接下來就應(yīng)該進行詳細設(shè)計了。數(shù)據(jù)庫是首當(dāng)其沖的,接下來就是用戶常接觸的首頁的設(shè)計,然后就是該留言板特色功能的設(shè)計和實現(xiàn)。
第7頁
(一)數(shù)據(jù)庫設(shè)計
我的數(shù)據(jù)庫采用的是MY SQL數(shù)據(jù)庫,采用的原因也已經(jīng)介紹了。以下就介紹留言板數(shù)據(jù)庫的組成。
第8頁
(二)留言板數(shù)據(jù)庫連接 寫入和保存
數(shù)據(jù)庫鏈接失敗!
”;
exit();} mysql_select_db(“gbook”, $con);mysql_query(“set names 'gb2312'”);date_default_timezone_set(PRC);?>
第9頁
if(isset($_REQUEST['GLOBALS'])OR isset($_FILES['GLOBALS'])){ exit('Request tainting attempted.');} //Session保存路徑
$sessSavePath = LOVE_ROOT.“data/sessions/”;if(is_writeable($sessSavePath)&& is_readable($sessSavePath)){ session_save_path($sessSavePath);} date_default_timezone_set(Singapore);$timestamp = time();require_once LOVE_ROOT.'./data/config.inc.php';require_once LOVE_ROOT.'./data/db.inc.php';require_once LOVE_ROOT.'./include/db_mysql.class.php';require_once LOVE_ROOT.'./include/template.class.php';if(defined('UC_KG')){include_once TM_ROOT.'/uc_client/client.php';} $PHP_SELF = $_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];$SCRIPT_FILENAME = str_replace('', '/',($_SERVER['PATH_TRANSLATED'] ? $_SERVER['PATH_TRANSLATED'] : $_SERVER['SCRIPT_FILENAME']));//$homeurl = 'http://'.$_SERVER['HTTP_HOST'].preg_replace(“//+(api|archiver|wap)?/*$/i”, '', substr($PHP_SELF, 0, strrpos($PHP_SELF, '/'))).'/';
//實例化數(shù)據(jù)庫操作 $db = new dbstuff;$db->connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect);unset($dbhost, $dbuser, $dbpw, $dbname, $pconnect);$db->query(“set names gbk”);if(getenv('HTTP_CLIENT_IP')&& strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')){ $onlineip = getenv('HTTP_CLIENT_IP');} elseif(getenv('HTTP_X_FORWARDED_FOR')&& strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')){ $onlineip = getenv('HTTP_X_FORWARDED_FOR');} elseif(getenv('REMOTE_ADDR')&& strcasecmp(getenv('REMOTE_ADDR'), 'unknown')){ $onlineip = getenv('REMOTE_ADDR');} elseif(isset($_SERVER['REMOTE_ADDR'])&& $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')){ $onlineip = $_SERVER['REMOTE_ADDR'];}
preg_match(“/[d.]{7,15}/”, $onlineip, $onlineipmatches);$onlineip = $onlineipmatches[0] ? $onlineipmatches[0] : 'unknown';unset($onlineipmatches);?>
第10頁
var $querynum = 0;var $link;var $histories;
var $dbhost;var $dbuser;var $dbpw;var $dbcharset;var $pconnect;var $tablepre;var $time;
var $goneaway = 5;
function connect($dbhost, $dbuser, $dbpw, $dbname = '', $dbcharset = '', $pconnect = 0, $tablepre='', $time = 0){
$this->dbhost = $dbhost;
$this->dbuser = $dbuser;
$this->dbpw = $dbpw;
$this->dbname = $dbname;
$this->dbcharset = $dbcharset;
$this->pconnect = $pconnect;
$this->tablepre = $tablepre;
$this->time = $time;
if($pconnect){
if(!$this->link = mysql_pconnect($dbhost, $dbuser, $dbpw)){
$this->halt('Can not connect to MySQL server');
}
} else {
if(!$this->link = mysql_connect($dbhost, $dbuser, $dbpw)){
$this->halt('Can not connect to MySQL server');
}
}
if($this->version()> '4.1'){
if($dbcharset){
mysql_query(“SET character_set_connection=”.$dbcharset.“, character_set_results=”.$dbcharset.“, character_set_client=binary”, $this->link);
}
if($this->version()> '5.0.1'){
mysql_query(“SET sql_mode=''”, $this->link);
}
第11頁
} } if($dbname){ mysql_select_db($dbname, $this->link);} function fetch_array($query, $result_type = MYSQL_ASSOC){
return mysql_fetch_array($query, $result_type);}
function result_first($sql){
$query = $this->query($sql);
return $this->result($query, 0);}
function fetch_first($sql){
$query = $this->query($sql);
return $this->fetch_array($query);} function fetch_row($query){
$query = mysql_fetch_row($query);
return $query;} function fetch_fields($query){
return mysql_fetch_field($query);} function fetch_rows($sql){
$result = $this->query($sql);
$arr = array();
while($row = $this->fetch_array($result))
{
$arr[] = $row;
}
$this->free_result($result);
return $arr;} function fetch_one($sql){
$rs = $this->query($sql);
$arr = $this->fetch_array($rs,MYSQL_NUM);$this->free_result($rs);
第12頁
return $arr[0];} function fetch_all($sql, $id = ''){
$arr = array();
$query = $this->query($sql);
while($data = $this->fetch_array($query)){
$id ? $arr[$data[$id]] = $data : $arr[] = $data;
}
return $arr;}
function cache_gc(){
$this->query(“DELETE FROM {$this->tablepre}sqlcaches WHERE expiry<$this->time”);}
function query($sql, $type = '', $cachetime = FALSE){
$func = $type == 'UNBUFFERED' && @function_exists('mysql_unbuffered_query')'mysql_unbuffered_query' : 'mysql_query';
if(!($query = $func($sql, $this->link))&& $type!= 'SILENT'){
$this->halt('MySQL Query Error', $sql);
}
$this->querynum++;
$this->histories[] = $sql;
return $query;}
function affected_rows(){
return mysql_affected_rows($this->link);}
function error(){
return(($this->link)? mysql_error($this->link): mysql_error());}
function errno(){
return intval(($this->link)? mysql_errno($this->link): mysql_errno());}
function result($query, $row){
$query = @mysql_result($query, $row);
return $query;}
function num_rows($query){
第13頁
?
$query = mysql_num_rows($query);
return $query;}
function num_fields($query){
return mysql_num_fields($query);}
function free_result($query){
return mysql_free_result($query);}
function insert_id(){
return($id = mysql_insert_id($this->link))>= 0 ? $id : $this->result($this->query(“SELECT last_insert_id()”), 0);}
function version(){
return mysql_get_server_info($this->link);}
function close(){
return mysql_close($this->link);}
function halt($message = '', $sql = ''){
$error = mysql_error();
$errorno = mysql_errno();
if($errorno == 2006 && $this->goneaway--> 0){
$this->connect($this->dbhost, $this->dbuser, $this->dbpw, $this->dbname, $this->dbcharset, $this->pconnect, $this->tablepre, $this->time);
$this->query($sql);
} else {
$s = 'Error:'.$error.'
';
$s.= 'Errno:'.$errorno.'
';
$s.= 'SQL::'.$sql;
exit($s);
} } } ?>
第14頁
(三)留言板文件夾中文件的介紹
有了數(shù)據(jù)庫,就應(yīng)該設(shè)計留言板的各個頁面。本留言板由2個文件夾,11個文件組成,簡單介紹各文件的作用:
index.PHP:留言板主頁,主要功能是查看留言,任何人都可以查看留言信息。Fun.php連接數(shù)據(jù)庫并統(tǒng)計留言條數(shù)、計算頁數(shù) Config.php連接配置數(shù)據(jù)庫。
(四)留言板首頁設(shè)計
我留言板的首頁文件index.PHP,功能主要是為訪客留下相關(guān)的信息,并進行留言。界面相對簡單,但功能很實用!留言板的基本功能實現(xiàn)具體如下:
圖7.1留言首頁
圖7.2愿望
圖7.3愿望列表
結(jié)束語:通過上面的介紹,相信對該留言板整體的構(gòu)建和各項功能都有了一定的認識,最重要的是學(xué)會了留言板的設(shè)計以及類似網(wǎng)絡(luò)的編程,更對實際操作和具體設(shè)計流程有了清晰的認識。該留言板實現(xiàn)了基本功能,并具有自己的特色,例如屏蔽關(guān)鍵字和防灌水功能。由于該留言板功能實用,而且界面友好,特別適合于中小型網(wǎng)站使用。對于剛剛接觸網(wǎng)絡(luò)編程人員的信心和興趣也會有很大提高。
八 總結(jié)
通過本次畢業(yè)設(shè)計,我學(xué)到了很多東西,例如:編程規(guī)范,PHP技術(shù)等。這次畢業(yè)設(shè)計是對我大學(xué)本科四年所學(xué)知識的一次綜合應(yīng)用,讓我認識到了自己的不足,并不斷的加強改進。在系統(tǒng)不斷的完善改進中,我學(xué)到了很多新的知識,也懂得了很多。這使我對自己的未來充滿了信心。
九 留言板特色和不足
特色:任何人都可以留言,任何人都可以看到。無需注冊和登錄,完全開放。不足:管理員功能較弱。
第15頁
參考文獻:
1.《PHP語言,進階和高級應(yīng)用》 龍浩等編著 清華大學(xué)出版社
2.《PHP & MYSQL Web數(shù)據(jù)庫應(yīng)用開發(fā)指南》 Hugh E.Williams等著 謝君英 歐陽宇譯2003年5月
3.《php程序設(shè)計》 Programming PHP 中國電力出版社 2003年7月 4.《phpmysql數(shù)據(jù)庫開發(fā)指南》焦桐順著 電子工業(yè)出版社 2001年9月 5.《php4交互網(wǎng)頁數(shù)據(jù)庫實戰(zhàn)手冊》清華大學(xué)出版社 2004年7月
第16頁
第五篇:基于JSP的在線留言板系統(tǒng)設(shè)計
基于JSP的在線留言板系統(tǒng)設(shè)計
摘 要 本文從當(dāng)前一般企業(yè)公司的網(wǎng)站融入在線留言功能的作用入手,探討了基于JSP的在線留言板系統(tǒng)的需求分析,總體設(shè)計。重點分析了留言板的數(shù)據(jù)庫設(shè)計、頁面設(shè)計、系統(tǒng)的流程及設(shè)計特色等。
【關(guān)鍵詞】JSP 在線留言 數(shù)據(jù)庫留言板系統(tǒng)的需求分析
目前很多大型企業(yè)公司的網(wǎng)站上都提供了在線留言功能。其主要目的,搜集客戶對該企業(yè)的意見和建議,為了更好改進產(chǎn)品質(zhì)量或是服務(wù)等。同時也為個人之間,團體之間,個人與團體之間的交流,提供了交流的平臺與便捷服務(wù),在Internet上實現(xiàn)信息的傳遞,提高辦事效率。本系統(tǒng)以Internet為平臺,以JSP作為開發(fā)工具,SQLServer2005為后臺數(shù)據(jù)庫,構(gòu)建一個小型留言板網(wǎng)站系統(tǒng),從功能需求到框架規(guī)劃再到數(shù)據(jù)庫設(shè)計,最后功能實現(xiàn)。
該系統(tǒng)主要由前臺功能和后臺功能兩部分組成。前臺提供注冊功能。注冊的用戶可以在留言板上進行主題查看,發(fā)表留言,回復(fù)留言。如果沒有注冊的用戶沒有權(quán)利發(fā)表留言或是回復(fù)留言但可以查看主題,查看留言內(nèi)容,后臺版主管理者可以進行留言的相關(guān)操作外,有權(quán)對留言進行審核,如果出現(xiàn)語言不遜或是惡意傷害的留言進行屏敝或刪除管理等操作。系統(tǒng)的總體設(shè)計
2.1 數(shù)據(jù)庫設(shè)計
數(shù)據(jù)庫設(shè)計是把現(xiàn)實世界的模型按照需求分析轉(zhuǎn)換成數(shù)據(jù)庫的模型的過程,它是建立數(shù)據(jù)庫應(yīng)用系統(tǒng)的核心問題。數(shù)據(jù)庫的數(shù)據(jù)是一切操作的基礎(chǔ),如果數(shù)據(jù)庫設(shè)計不好,則影響其開發(fā)功能的實現(xiàn)及后期的維護。通過需求分析,抽象出現(xiàn)實世界的實體模型有人,留言,回復(fù)留言。每個實體在留言系統(tǒng)中有其重要屬性。如人的屬性有用戶ID,姓名,權(quán)限,密碼,電話,郵箱等,其中用戶ID是主屬性。留言的屬性有留言ID,留言姓名,留言主題,留言內(nèi)容,留言時間,IP,電話等。其中留言ID為主屬性,回復(fù)留言的主屬性有用戶ID,留言ID,回復(fù)的內(nèi)容,回復(fù)的時間等。其中用戶ID為主屬性。在以上分析中,留言板中注冊的用戶有兩類人員,一是普通用戶,一是管理員,為了區(qū)分兩者身份,可以在人的屬性中增加權(quán)限屬性,如其值1為管理員,0為普通用戶。據(jù)此便可以設(shè)計出符合實際需求分析的三張表,分別為,user用戶表,leaveword留言表,reply留言回復(fù)表。
2.2 系統(tǒng)主頁設(shè)計
為了使留言板系統(tǒng)的頁面更加美觀,頁面風(fēng)格保持一致,編寫了CSS文件和JavaScript文件,采用了CSS外部樣式。并建立了一個獨立的JS文件,方便多個網(wǎng)頁文件引入。
2.3 系統(tǒng)功能設(shè)計
詳見系統(tǒng)流程圖
2.4 系統(tǒng)特色
(1)此留言板系統(tǒng)雖然小巧。但功能完善。
(2)不同用戶都有個自的權(quán)限。登陸后執(zhí)行的功能各不相同。實現(xiàn)了多個不同用戶的訪問。
(3)頁面風(fēng)格統(tǒng)一,簡單且美觀。
(4)數(shù)據(jù)庫設(shè)計合理規(guī)范,用戶注冊的信息符合要求才可以注冊成功。具有很好的完整性。
參考文獻
[1]王品.JSP實現(xiàn)留言板系統(tǒng)[J].計算機光盤與軟件,2012.作者簡介
黃軍,男,教師,研究方向為軟件開發(fā)。
作者單位
貴州工業(yè)職業(yè)技術(shù)學(xué)院 貴州省貴陽市 550000