




已閱讀5頁(yè),還剩31頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第一章 前言1.1開(kāi)發(fā)背景隨著近年因特網(wǎng)(Internet)技術(shù)的飛速發(fā)展,萬(wàn)維網(wǎng)(World Wide Web簡(jiǎn)稱(chēng)Web)融會(huì)了越來(lái)越多的信息。萬(wàn)維網(wǎng)提供了一個(gè)可以輕松駕馭的圖形化用戶界面,用戶通過(guò)它可以輕松連接因特網(wǎng)所覆蓋的一個(gè)龐大的信息網(wǎng)絡(luò)?;诖耍Q生了“網(wǎng)站”這樣一種的新興媒體,它已經(jīng)成為一個(gè)實(shí)時(shí)的,多媒體的信息傳播渠道。網(wǎng)站的載體主要是計(jì)算機(jī),范圍覆蓋全球各地,沒(méi)有國(guó)界,不分人種,時(shí)時(shí)刻刻地提供服務(wù)。目前,人們已經(jīng)把網(wǎng)站稱(chēng)之為廣播、電視、報(bào)刊以外的第四新聞媒體,以“共享、公平、公正、創(chuàng)新、國(guó)際化、團(tuán)隊(duì)精神”為特征的網(wǎng)絡(luò)文明也已逐漸成為這個(gè)時(shí)代的標(biāo)志,人們?cè)絹?lái)越習(xí)慣于通過(guò)Internet網(wǎng)絡(luò)獲取信息,通過(guò)Internet在網(wǎng)站上發(fā)表自己對(duì)社會(huì)對(duì)生活的理解和建議。為了適應(yīng)信息技術(shù)和網(wǎng)絡(luò)化、一體化的發(fā)展,學(xué)校也有了相應(yīng)的需求建立自己的網(wǎng)站,用以存儲(chǔ)數(shù)據(jù)和人事管理以及給校內(nèi)人員提供一個(gè)方便快捷的交流平臺(tái)。為了達(dá)到這些目的,學(xué)校需要建立一個(gè)基于BBS(Bulletin Board System,電子公告板)的網(wǎng)站“校友聯(lián)誼網(wǎng)站”,讓用戶既能夠進(jìn)行交流和聯(lián)系其他用戶,還可以在允許的權(quán)限范圍內(nèi)發(fā)布和查詢相應(yīng)的信息。作為BBS,它應(yīng)該是一種交互性極強(qiáng)的、網(wǎng)友喜聞樂(lè)見(jiàn)的電子信息服務(wù)系統(tǒng),能夠提供一塊公共電子白板,每個(gè)用戶都可以在上面書(shū)寫(xiě),發(fā)布各自的信息或提出不同的看法,以便于其他用戶進(jìn)行交流討論;作為學(xué)校網(wǎng)站,它又必須能夠體現(xiàn)出校園內(nèi)部網(wǎng)站的特點(diǎn),能夠?qū)崿F(xiàn)校園新聞發(fā)布等功能?;谶@樣的考慮,本系統(tǒng)開(kāi)發(fā)的校友聯(lián)誼網(wǎng)站應(yīng)具有的最基本模塊有用戶模塊、公共信息模塊、討論區(qū)模塊、密碼重建模塊及后臺(tái)管理模塊等。其中:(1)用戶模塊主要包括用戶注冊(cè)、登錄登出及個(gè)人信息管理等;(2)公共信息模塊主要實(shí)現(xiàn)用戶公共信息的發(fā)布及查詢;(3)討論區(qū)模塊主要顯示討論區(qū)內(nèi)容和文章內(nèi)容,同時(shí)用戶可以發(fā)表文章和回復(fù)相應(yīng)文章;(4)密碼重建模塊主要實(shí)現(xiàn)用戶丟失密碼后的密碼重建;(5)后臺(tái)管理模塊主要實(shí)現(xiàn)管理員對(duì)整個(gè)網(wǎng)站的管理功能,包括對(duì)討論區(qū)創(chuàng)建、修改和刪除,對(duì)公共信息、討論區(qū)文章的管理,新聞公告的發(fā)布、刪除,以及對(duì)用戶的個(gè)人資料修改和刪除等?!靶S崖?lián)誼網(wǎng)站系統(tǒng)”采用了Linux+Apache+MySQL+PHP開(kāi)發(fā),選擇在Linux操作系統(tǒng)中使用目前比較流行的Apache服務(wù)器結(jié)合MySQL數(shù)據(jù)庫(kù)使用PHP語(yǔ)言進(jìn)行web設(shè)計(jì),充分發(fā)揮Linux下PHP與MySQL結(jié)合的優(yōu)勢(shì)。1.2項(xiàng)目提出的意義校友聯(lián)誼網(wǎng)站,是一種為用戶提供網(wǎng)上信息交流、相互聯(lián)絡(luò)的網(wǎng)絡(luò)工具,通過(guò)網(wǎng)絡(luò)實(shí)現(xiàn)了校友之間的遠(yuǎn)程交互以及信息資源的共享。校友聯(lián)誼網(wǎng)站為校友之間進(jìn)行交流和聯(lián)系提供了一個(gè)平臺(tái)。利用網(wǎng)絡(luò)資源優(yōu)勢(shì)和技術(shù)優(yōu)勢(shì),通過(guò)提供完善的信息發(fā)布查詢服務(wù)和規(guī)范的用戶管理,以達(dá)到增進(jìn)校友之間、校友與母校之間的感情,方便校友聯(lián)系的目的,并以此加快學(xué)校的信息化建設(shè)。同時(shí)通過(guò)本網(wǎng)站用戶可以方便的、有針對(duì)性的與同學(xué)進(jìn)行交流,了解班級(jí)同學(xué)的信息、動(dòng)向。用戶也可以發(fā)布信息或文章,實(shí)現(xiàn)資源共享。它為在校學(xué)生、畢業(yè)生提供了一個(gè)多元化的交流平臺(tái),既可以通過(guò)它尋找同學(xué),也可以利用它實(shí)現(xiàn)在線交流,同時(shí),它還可以承擔(dān)一部分網(wǎng)絡(luò)教學(xué)的任務(wù),彌補(bǔ)學(xué)生在網(wǎng)絡(luò)學(xué)習(xí)中交流方面的不足,和同學(xué)間通過(guò)討論形成合作性學(xué)習(xí),提高自己的專(zhuān)業(yè)學(xué)習(xí)水平。第二章 網(wǎng)站開(kāi)發(fā)環(huán)境與實(shí)現(xiàn)技術(shù)2.1 開(kāi)發(fā)和運(yùn)行環(huán)境2.1.1 硬件設(shè)備及操作系統(tǒng)服務(wù)器:PentiumIII 1G(或與此相當(dāng)?shù)腃PU)以上配置的高性能PC機(jī),有網(wǎng)絡(luò)接口卡(NIC),內(nèi)存應(yīng)在256M以上,硬盤(pán)在80G以上。確認(rèn)該計(jì)算機(jī)已經(jīng)安裝Apache服務(wù)器,數(shù)據(jù)庫(kù)軟件MySQL,還可選用備份服務(wù)器。操作系統(tǒng):windows NT 或以上 客戶端:PentiumIII 500(或與此相當(dāng)?shù)腃PU)以上配置的PC機(jī),有網(wǎng)絡(luò)接口卡(NIC),內(nèi)存應(yīng)在256M以上,硬盤(pán)在2G以上。網(wǎng)絡(luò):服務(wù)器和客戶端應(yīng)有網(wǎng)絡(luò)連通,配置TCP/IP協(xié)議以及需要申請(qǐng)一個(gè)連接Internet的固定IP地址。2.1.2 系統(tǒng)開(kāi)發(fā)平臺(tái)電腦配置:一般PC,CPU: 酷睿Duo T2050,內(nèi)存:1G,硬盤(pán):80G操作系統(tǒng):RedHat Linux Fedora Core 6.0開(kāi)發(fā)環(huán)境:PHP 5.1.6Web服務(wù)平臺(tái):Apache 2.2.2數(shù)據(jù)庫(kù):MYSQL 5.0.22系統(tǒng)開(kāi)發(fā)平臺(tái)的Web服務(wù)器采用Apache HTTP Server,Apache提供HTTP協(xié)議的服務(wù),并通過(guò)與其他Web服務(wù)器溝通,相互聯(lián)結(jié)而形成全球信息網(wǎng)。Apache成為Web服務(wù)器主流的原因是由于它擁有的一些特色:(1)結(jié)合并支持最新的通信協(xié)議,包括HTTP1.1版;(2)可配置的靈活性極高,且能隨時(shí)加入其他組織開(kāi)發(fā)的模塊,增加系統(tǒng)功能;(3)可采用Apache模塊化的應(yīng)用程序接口(application program interface,API),并視情況所需自行開(kāi)發(fā)模塊;(4)向所有用戶開(kāi)放完整的源代碼,用戶可依照自己的需求修改程序;(5)充分展示跨平臺(tái)的優(yōu)勢(shì),在Windows 95/98、Windows NT/2000、Netware 5.x、OS/2,還有UNIX及其衍生的操作系統(tǒng)上皆能執(zhí)行,其中包括現(xiàn)今呼聲很高的Linux操作系統(tǒng)。Apache在Fedora Core 6.0中的版本信息可以通過(guò)以下命令查看:圖1 Apache查看信息命令當(dāng)前顯示版本信息為2.2.3-5,這是目前為止Fedora 發(fā)布的最新版本。Apache的啟動(dòng)命令為:service httpd start,停止命令為service httpd stop,重新啟動(dòng)的命令為:service httpd restart。在瀏覽器中輸入Linux虛擬主機(jī)IP地址即可測(cè)試啟動(dòng)是否正常,如:66,默認(rèn)正常情況下會(huì)出現(xiàn)以下界面:圖2 Apache成功顯示頁(yè)面Apache的主要配置文件為/etc/httpd/conf/httpd.conf,下面對(duì)本次環(huán)境搭建中用需要修改的幾個(gè)選項(xiàng)作相應(yīng)說(shuō)明:# DocumentRoot: The directory out of which you will serve your# documents. By default, all requests are taken from this directory, but# symbolic links and aliases may be used to point to other locations.DocumentRoot /var/www/htmlDocumentRoot用于存放網(wǎng)頁(yè)數(shù)據(jù)的根目錄,所有來(lái)自客戶端的請(qǐng)求,都會(huì)以此目錄中的網(wǎng)頁(yè)(index.html)來(lái)響應(yīng),默認(rèn)的目錄為/var/www/html,自行設(shè)計(jì)網(wǎng)頁(yè)文件以后應(yīng)該保存在此目錄中;當(dāng)然此處可以進(jìn)行修改,根目錄修改后,網(wǎng)頁(yè)文件應(yīng)保存在修改后的目錄中。# DirectoryIndex: sets the file that Apache will serve if a directory# is requested.# The index.html.var file (a type-map) is used to deliver content-# negotiated documents. The MultiViews Option can be used for the # same purpose, but it is much slower.DirectoryIndex index.html index.html.varDirectoryIndex選項(xiàng)可用來(lái)指定用戶連接到每個(gè)目錄時(shí)默認(rèn)打開(kāi)的網(wǎng)頁(yè)名稱(chēng),系統(tǒng)默認(rèn)為index.html index.html.var,本機(jī)由于首頁(yè)為index.php 故在后面加上index.php。# Specify a default charset for all content served; this enables# interpretation of all content as UTF-8 by default. To use the # default browser choice (ISO-8859-1), or to allow the META tags# in HTML content to override this choice, comment out this# directive:AddDefaultCharset UTF-8配置文件中默認(rèn)字符集為UTF-8,在此為了使用方便以及對(duì)漢字的支持,我們將其注釋掉。Apache文件中選項(xiàng)在本次畢業(yè)設(shè)計(jì)中修改部分如上所示,其余部分未作修改使用默認(rèn)值即可。2.2開(kāi)發(fā)工具和關(guān)鍵技術(shù)2.2.1 PHP技術(shù)PHP,是英文超級(jí)文本預(yù)處理語(yǔ)言(PHP:Hypertext Preprocessor)的縮寫(xiě)。PHP 是一種被廣泛應(yīng)用的開(kāi)放源代碼的HTML 內(nèi)嵌式多用途腳本語(yǔ)言。PHP與微軟的ASP頗有幾分相似,都是一種在服務(wù)器端執(zhí)行的嵌入HTML文檔的腳本語(yǔ)言,語(yǔ)言的風(fēng)格有類(lèi)似于C語(yǔ)言,現(xiàn)在被很多的網(wǎng)站編程人員廣泛的運(yùn)用。PHP 獨(dú)特的語(yǔ)法混合了 C、Java、Perl 以及 PHP 自創(chuàng)新的語(yǔ)法。它可以比 CGI 或者 Perl 更快速的執(zhí)行動(dòng)態(tài)網(wǎng)頁(yè)。用PHP做出的動(dòng)態(tài)頁(yè)面與其他的編程語(yǔ)言相比,PHP是將程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成HTML標(biāo)記的 CGI要高許多;與同樣是嵌入HTML文檔的腳本語(yǔ)言JavaScript相比,PHP在服務(wù)器端執(zhí)行,充分利用了服務(wù)器的性能;PHP執(zhí)行引擎還會(huì)將用戶經(jīng)常訪問(wèn)的PHP程序駐留在內(nèi)存中,其他用戶再一次訪問(wèn)這個(gè)程序時(shí)就不需要重新編譯程序了,只要直接執(zhí)行內(nèi)存中的代碼就可以了,這也是PHP高效率的體現(xiàn)之一。PHP具有非常強(qiáng)大的功能,所有的CGI或者JavaScript的功能PHP都能實(shí)現(xiàn)。正因?yàn)镻HP是這樣一種簡(jiǎn)單的、面向?qū)ο蟮摹⒔忉屝偷?、健壯的、安全的、性能非常之高的、?dú)立于架構(gòu)的、可移植的、動(dòng)態(tài)的腳本語(yǔ)言,它能運(yùn)行在包括Windows、Linux等在內(nèi)的絕大多數(shù)操作系統(tǒng)環(huán)境中,常與免費(fèi)的Web服務(wù)器軟件Apache和免費(fèi)數(shù)據(jù)庫(kù)軟件MySQL配合使用于Linux平臺(tái)上。同時(shí)PHP具有強(qiáng)大的數(shù)據(jù)庫(kù)支持能力,目前其支持范圍覆蓋了包括Oracle,Sybase,Microsoft SQL,MySQL,Informix,Solid dBase,ODBC,Unix dbm,PostgreSQL,Adabas D等在內(nèi)的大多數(shù)常見(jiàn)數(shù)據(jù)庫(kù)。用它編寫(xiě)一個(gè)含有數(shù)據(jù)庫(kù)功能的網(wǎng)頁(yè)程序十分簡(jiǎn)單。PHP可以編譯成具有與許多數(shù)據(jù)庫(kù)相連接的函數(shù)。PHP與MySQL是絕佳組合。你還可以自己編寫(xiě)外圍的函數(shù)去間接存取數(shù)據(jù)庫(kù)。通過(guò)這樣的途徑當(dāng)用戶更換使用數(shù)據(jù)庫(kù)時(shí),可以輕松的更改編碼以適應(yīng)變化。而PHP5正式版本的發(fā)布,標(biāo)志著一個(gè)全新的PHP時(shí)代的到來(lái)。它的核心是第二代Zend引擎,并引入了對(duì)全新的PECL模塊的支持。PHP5的最大特點(diǎn)是引入了面向?qū)ο蟮娜繖C(jī)制,并且保留了向下的兼容性。程序員不必再編寫(xiě)缺乏功能性的類(lèi),并且能夠以多種方法實(shí)現(xiàn)類(lèi)的保護(hù)。另外,在對(duì)象的集成等方面也不再存在問(wèn)題。使用PHP5引進(jìn)了類(lèi)型提示和異常處理機(jī)制,能更有效的處理和避免錯(cuò)誤的發(fā)生。在不斷更新的同時(shí),PHP5依然保留對(duì)舊有的PHP4程序可以運(yùn)行于PHP5的平臺(tái)上而不會(huì)出現(xiàn)較大問(wèn)題。隨著MySQL數(shù)據(jù)庫(kù)的發(fā)展,PHP5還綁定了新的MySQLi擴(kuò)展模塊,它提供了一些更加有效的方法和實(shí)用工具用于處理數(shù)據(jù)庫(kù)操作。 PHP5添加了面向?qū)ο蟮腜DO模塊,提供了另外一種數(shù)據(jù)庫(kù)操作的方案,統(tǒng)一數(shù)據(jù)庫(kù)操作的API。PHP5提供了數(shù)據(jù)庫(kù)引擎SQLite擴(kuò)展,直接用這個(gè)擴(kuò)展就可以創(chuàng)建和使用SQLite數(shù)據(jù)庫(kù)。這些方法大都以面向?qū)ο蟮姆绞綄?shí)現(xiàn),同時(shí)也極大地提高了基于數(shù)據(jù)庫(kù)的Web項(xiàng)目的執(zhí)行速度。同時(shí)PHP5.2.0還增加了JSON函數(shù),更好的支持Ajax。本次畢業(yè)設(shè)計(jì)中,在安裝Linux虛擬機(jī)時(shí)已經(jīng)定制了PHP相關(guān)軟件包,不需要獨(dú)立安裝PHP5。可以使用命令查看當(dāng)前安裝版本,當(dāng)前版本為php-5.1.6-3。如果系統(tǒng)中沒(méi)有安裝PHP5,則可以使用命令rpm ivh php軟件包的全路徑名安裝PHP軟件包。圖3 PHP查看命令2.2.2 MYSQL數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)從最初的數(shù)據(jù)文件簡(jiǎn)單集合發(fā)展到今天的大型數(shù)據(jù)庫(kù)管理系統(tǒng),已成為人們?nèi)粘I钪胁豢苫蛉钡慕M成部分。市面上的數(shù)據(jù)庫(kù)產(chǎn)品種類(lèi)繁多,例如Oracle,SQL Server,MySQL,Sybase,Access等,從大型企業(yè)的解決方案到中小型應(yīng)用系統(tǒng),可以滿足用戶的多樣化需求。數(shù)據(jù)庫(kù)技術(shù)從60年代中期至今只有不到40年的歷史,但其發(fā)展速度之快是其它技術(shù)所不及的。它已由第一代的層次型、網(wǎng)狀型數(shù)據(jù)庫(kù),第二代的關(guān)系型數(shù)據(jù)庫(kù)發(fā)展到今天以面向?qū)ο鬄橹饕P偷臄?shù)據(jù)庫(kù),即第三代數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)技術(shù)和網(wǎng)絡(luò)通信技術(shù)、面向?qū)ο缶幊碳夹g(shù)、并行計(jì)算機(jī)技術(shù)、人工智能技術(shù)相互融合、相互滲透,促進(jìn)了數(shù)據(jù)庫(kù)技術(shù)的廣泛應(yīng)用。數(shù)據(jù)庫(kù)(Database),是按照數(shù)據(jù)結(jié)構(gòu)來(lái)組織、存儲(chǔ)和管理數(shù)據(jù)的倉(cāng)庫(kù),是用于查詢大量數(shù)據(jù)的存儲(chǔ)區(qū)域。使用數(shù)據(jù)庫(kù)可以帶來(lái)許多好處:如減少了數(shù)據(jù)的冗余度,從而大大地節(jié)省了數(shù)據(jù)的存儲(chǔ)空間,實(shí)現(xiàn)數(shù)據(jù)資源的充分共享等等。此外,數(shù)據(jù)庫(kù)技術(shù)還為用戶提供了非常簡(jiǎn)便的使用手段,使用戶易于編寫(xiě)有關(guān)數(shù)據(jù)庫(kù)應(yīng)用程序。特別是近年來(lái)推出的計(jì)算機(jī)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),操作直觀,使用靈活,編程方便,功能強(qiáng)大,環(huán)境適應(yīng)廣泛,數(shù)據(jù)處理能力極強(qiáng)。數(shù)據(jù)庫(kù)的設(shè)計(jì)是指對(duì)一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造數(shù)據(jù)庫(kù)模式,建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),滿足各種用戶需求。作為信息資源開(kāi)發(fā)、管理和服務(wù)的一種有效的手段,數(shù)據(jù)庫(kù)技術(shù)的應(yīng)用已越來(lái)越廣泛,從小型的單項(xiàng)事務(wù)處理系統(tǒng)到大型的信息系統(tǒng)大都用先進(jìn)的數(shù)據(jù)庫(kù)技術(shù)來(lái)保持系統(tǒng)數(shù)據(jù)的安全性、完整性和共享性。對(duì)一個(gè)實(shí)際的系統(tǒng)來(lái)說(shuō),數(shù)據(jù)庫(kù)表的設(shè)計(jì)在遵循數(shù)據(jù)庫(kù)理論的同時(shí),必須能用開(kāi)發(fā)工具來(lái)實(shí)現(xiàn)用戶在各方面提出的功能要求。一個(gè)真正的、完整的站點(diǎn)是離不開(kāi)數(shù)據(jù)庫(kù)的,因?yàn)樯倭康臄?shù)據(jù),如網(wǎng)頁(yè)訪問(wèn)人數(shù)等完全可以存儲(chǔ)在文本文件中,但實(shí)際應(yīng)用中,需要保存的數(shù)據(jù)遠(yuǎn)不止這一點(diǎn)點(diǎn),而且這些數(shù)據(jù)之間往往還有關(guān)聯(lián),利用數(shù)據(jù)庫(kù)來(lái)管理這些數(shù)據(jù),可以很方便的查詢和更新。可以說(shuō)一個(gè)動(dòng)態(tài)網(wǎng)站的建設(shè)是離不開(kāi)一個(gè)設(shè)計(jì)最優(yōu)的數(shù)據(jù)庫(kù)的。MySQL是瑞典的MySQLAB公司開(kāi)發(fā)的一個(gè)可用于各種流行操作系統(tǒng)平臺(tái)的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng),它具有客戶機(jī)/服務(wù)器體系結(jié)構(gòu)的分布式數(shù)據(jù)庫(kù)管理系統(tǒng)。MySQL 完全適用于網(wǎng)絡(luò),用其建造的數(shù)據(jù)庫(kù)可在因特網(wǎng)上的任何地方訪問(wèn),因此,可以和網(wǎng)絡(luò)上任何地方的任何人共享數(shù)據(jù)庫(kù)。MySQL具有功能強(qiáng)、使用簡(jiǎn)單、管理方便、運(yùn)行速度快、可靠性高、安全保密性強(qiáng)等優(yōu)點(diǎn)。MySQL用C和C+編寫(xiě),它可以工作在許多平臺(tái)(Unix,Linux,Windows)上,提供了針對(duì)不同編程語(yǔ)言(C,C+,JAVA等)的API函數(shù);使用核心線程實(shí)現(xiàn)多線程,能夠很好的支持多CPU;提供事務(wù)和非事務(wù)的存儲(chǔ)機(jī)制;快速的基于線程的內(nèi)存分配系統(tǒng);MySQL采用雙重許可,用戶可以在GNU許可條款下以免費(fèi)軟件或開(kāi)放源碼軟件的方式使用MySQL軟件,也可以從MySQLAB公司獲得正式的商業(yè)許可。除了以上特點(diǎn),MySQL 還有一個(gè)最大的特點(diǎn),那就是在諸如 UNIX 這樣的操作系統(tǒng)上,它是免費(fèi)的,可從因特網(wǎng)上下載其服務(wù)器和客戶機(jī)軟件。并且還能從因特網(wǎng)上得到許多與其相配的第三方軟件或工具。而在 Windows 系統(tǒng)上,其客戶機(jī)程序和客戶機(jī)程序庫(kù)是免費(fèi)的。將 MySQL 與其他數(shù)據(jù)庫(kù)系統(tǒng),就性能、支持、特性(與 SQL 的一致性、擴(kuò)展等等)、認(rèn)證條件和約束條件、價(jià)格等進(jìn)行比較,相比之下,MySQL 具有許多吸引人之處,因此本系統(tǒng)選擇選用 MySQL數(shù)據(jù)庫(kù)管理系統(tǒng)實(shí)現(xiàn)。1.速度。MySQL命令執(zhí)行的速度很快,是目前運(yùn)行速度最快的SQL語(yǔ)言數(shù)據(jù)庫(kù)之一。2.容易使用。MySQL 是一個(gè)高性能且相對(duì)簡(jiǎn)單的數(shù)據(jù)庫(kù)系統(tǒng),與一些更大系統(tǒng)的設(shè)置和管理相比,其復(fù)雜程度較低。3.價(jià)格。MySQL 對(duì)多數(shù)個(gè)人用戶來(lái)說(shuō)是免費(fèi)的。4.小巧。4.1.1的數(shù)據(jù)庫(kù)發(fā)行版僅僅只有21M,安裝完成也僅僅51M。5.支持查詢語(yǔ)言。MySQL 可以利用 SQL(結(jié)構(gòu)化查詢語(yǔ)言),SQL 是一種所有現(xiàn)代數(shù)據(jù)庫(kù)系統(tǒng)都選用的語(yǔ)言。也可以利用支持 ODBC(開(kāi)放式數(shù)據(jù)庫(kù)連接)的應(yīng)用程序,ODBC 是 Microsoft 開(kāi)發(fā)的一種數(shù)據(jù)庫(kù)通信協(xié)議。6.性能。許多客戶機(jī)可同時(shí)連接到服務(wù)器。MySQL數(shù)據(jù)庫(kù)沒(méi)有用戶數(shù)的限制,多個(gè)客戶機(jī)可同時(shí)使用同一個(gè)數(shù)據(jù)庫(kù)??衫脦讉€(gè)輸入查詢并查看結(jié)果的界面來(lái)交互式地訪問(wèn) MySQL。7. 連接性和安全性。MySQL 是完全網(wǎng)絡(luò)化的,其數(shù)據(jù)庫(kù)可在因特網(wǎng)上的任何地方訪問(wèn),因此,可以和任何地方的任何人共享數(shù)據(jù)庫(kù)。而且 MySQL 還能進(jìn)行訪問(wèn)控制,可以控制哪些人不能看到用戶的數(shù)據(jù)。8.可移植性。MySQL 可運(yùn)行在各種版本的 UNIX 以及其他非 UNIX 的系統(tǒng)(如 Windows 和 OS/2)上。MySQL 可運(yùn)行在從家用 PC 到高級(jí)的服務(wù)器上。9.開(kāi)放式的分發(fā)。MySQL 容易獲得;只要使用 Web 瀏覽器即可。如果不能理解某樣?xùn)|西是如何起作用的,或者對(duì)某個(gè)算法感到好奇,可以將其源代碼取來(lái),對(duì)源代碼進(jìn)行分析。如果不喜歡某些東西,則可以更改它。圖4 MySQL查看信息以下部分是MySQL的配置簡(jiǎn)介:RedHat Fedora Core6.0中當(dāng)前MySQL版本為mysql-5.0.22-2.1,若沒(méi)有安裝則可以使用rmp ivh + mysql軟件包的全路徑名。在終端中使用命令/etc/rc.d/init.d/mysqld start或 service mysqld start即可以啟動(dòng)mysql數(shù)據(jù)庫(kù),使用mysql u root p命令即可進(jìn)入mysql數(shù)據(jù)庫(kù),如圖5所示:圖5 進(jìn)入數(shù)據(jù)庫(kù)命令MySQL默認(rèn)產(chǎn)生的用戶名和密碼是root和空密碼,出于安全性考慮需要手動(dòng)設(shè)置mysql密碼,可以使用mysqladmin u root password 修改root用戶密碼。2.2.3 網(wǎng)頁(yè)制作工具1. Dreamweaver MX 2004Dreamweaver是美國(guó)MACROMEDIA公司開(kāi)發(fā)的集網(wǎng)頁(yè)制作和管理網(wǎng)站于一身的所見(jiàn)即所得網(wǎng)頁(yè)編輯器,它是第一套針對(duì)專(zhuān)業(yè)網(wǎng)頁(yè)設(shè)計(jì)師特別發(fā)展的視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具,利用它可以輕而易舉地制作出跨越平臺(tái)限制和跨越瀏覽器限制的充滿動(dòng)感的網(wǎng)頁(yè)。Dreamweaver對(duì)于DHTML(動(dòng)態(tài)網(wǎng)頁(yè))的支持特別好,可以輕而易舉地做出很多眩目的互動(dòng)頁(yè)面特效。插件式的程序設(shè)計(jì)使得其功能可以無(wú)限的擴(kuò)展。利用 Dreamweaver 中的可視化編輯功能,可以快速地創(chuàng)建頁(yè)面而無(wú)需編寫(xiě)任何代碼。Dreamweaver制作出來(lái)的網(wǎng)頁(yè)兼容性比較好,制作效率也很高,Dreamweaver包括可視化編輯、HTML代碼編輯的軟件包,并支持ActiveX、JavaScript、Java、Flash、ShockWave等特性,而且它還能通過(guò)拖拽從頭到尾制作動(dòng)態(tài)的HTML動(dòng)畫(huà),支持動(dòng)態(tài)HTML(Dynamic HTML)的設(shè)計(jì),使得頁(yè)面沒(méi)有plugin也能夠在Netscape和IE 4.0瀏覽器中正確地顯示頁(yè)面的動(dòng)畫(huà)。同時(shí)它還提供了自動(dòng)更新頁(yè)面信息的功能。本系統(tǒng)的整個(gè)開(kāi)發(fā)過(guò)程基本上是通過(guò)Dreamweaver網(wǎng)頁(yè)制作工具來(lái)設(shè)計(jì)調(diào)試完成的。2. Photoshop CS2網(wǎng)頁(yè)制作離不開(kāi)圖片,生動(dòng)的網(wǎng)頁(yè)需要有各式圖片填充其中。而Photoshop的專(zhuān)長(zhǎng)就在于圖像處理。從功能上看,Photoshop可分為圖像編輯、圖像合成、校色調(diào)色及特效制作部分。圖像編輯是圖像處理的基礎(chǔ),Photoshop可以對(duì)圖像做各種變換如放大、縮小、旋轉(zhuǎn)、傾斜、鏡像、透視等。也可進(jìn)行復(fù)制、去除斑點(diǎn)、修補(bǔ)、修飾圖像的殘損等。這在婚紗攝影、人像處理制作中有非常大的用場(chǎng),去除人像上不滿意的部分,進(jìn)行美化加工,得到讓人非常滿意的效果。 圖像合成則是將幾幅圖像通過(guò)圖層操作、工具應(yīng)用合成完整的、傳達(dá)明確意義的圖像,這是美術(shù)設(shè)計(jì)的必經(jīng)之路。photoshop提供的繪圖工具讓外來(lái)圖像與創(chuàng)意很好地融合,成為可能使圖像的合成天衣無(wú)縫。 校色調(diào)色是photoshop中深具威力的功能之一,可方便快捷地對(duì)圖像的顏色進(jìn)行明暗、色編的調(diào)整和校正,也可在不同顏色進(jìn)行切換以滿足圖像在不同領(lǐng)域如網(wǎng)頁(yè)設(shè)計(jì)、印刷、多媒體等方面應(yīng)用。 特效制作在photoshop中主要由濾鏡、通道及工具綜合應(yīng)用完成。包括圖像的特效創(chuàng)意和特效字的制作,如油畫(huà)、浮雕、石膏畫(huà)、素描等常用的傳統(tǒng)美術(shù)技巧都可藉由photoshop特效完成。而各種特效字的制作更是很多美術(shù)設(shè)計(jì)師熱衷于photoshop的研究的原因。2.3 Linux+Apache+PHP+MySQL解決方案的優(yōu)勢(shì)開(kāi)源世界有一個(gè)著名的說(shuō)法就是LAMP,它是Linux、Apache、MySQL(開(kāi)源數(shù)據(jù)庫(kù))和Perl/PHP/Python的首字母縮寫(xiě)。Linux+Apache+Mysql+Perl/PHP/Python,是一組常用來(lái)搭建動(dòng)態(tài)網(wǎng)站或者服務(wù)器的開(kāi)源軟件,本身都是各自獨(dú)立的程序,但是因?yàn)槌1环旁谝黄鹗褂?,擁有了越?lái)越高的兼容度,共同組成了一個(gè)強(qiáng)大的Web應(yīng)用程序平臺(tái),P所代表的三種腳本語(yǔ)言,以其靈活性、簡(jiǎn)便性和快捷性獲得為數(shù)眾多的開(kāi)發(fā)者的青睞。隨著開(kāi)源潮流的蓬勃發(fā)展,開(kāi)放源代碼的LAMP已經(jīng)與J2EE和.Net商業(yè)軟件形成三足鼎立之勢(shì),并且該軟件開(kāi)發(fā)的項(xiàng)目在軟件方面的投資成本較低,因此受到整個(gè)IT界的關(guān)注。從網(wǎng)站的流量上來(lái)說(shuō),70%以上的訪問(wèn)流量是LAMP來(lái)提供的,LAMP是最強(qiáng)大的網(wǎng)站解決方案。Linux以它的高效性和靈活性著稱(chēng)。它能夠在PC計(jì)算機(jī)上實(shí)現(xiàn)全部的Unix特性,具有多任務(wù)、多用戶的能力。Linux是在GNU公共許可權(quán)限下免費(fèi)獲得的,是一個(gè)符合POSIX標(biāo)準(zhǔn)的操作系統(tǒng)。Linux操作系統(tǒng)軟件包不僅包括完整的Linux操作系統(tǒng),而且還包括了文本編輯器、高級(jí)語(yǔ)言編譯器等應(yīng)用軟件。它還包括帶有多個(gè)窗口管理器的X-Window圖形用戶界面,如同我們使用Windows NT一樣,允許我們使用窗口、圖標(biāo)和菜單對(duì)系統(tǒng)進(jìn)行操作。Linux之所以受到廣大計(jì)算機(jī)愛(ài)好者的喜愛(ài),主要原因有兩個(gè),一是它屬于自由軟件,用戶不用支付任何費(fèi)用就可以獲得它和它的源代碼,并且可以根據(jù)自己的需要對(duì)它進(jìn)行必要的修改,無(wú)償對(duì)它使用,無(wú)約束地繼續(xù)傳播。另一個(gè)原因是,它具有Unix的全部功能,任何使用Unix操作系統(tǒng)或想要學(xué)習(xí)Unix操作系統(tǒng)的人都可以從Linux中獲益。運(yùn)行Linux需要的配置并不高,支持眾多的PC周邊設(shè)備,并且這樣一個(gè)功能強(qiáng)大的軟件完全免費(fèi),其源代碼是完全公開(kāi)的,任何人都能拿來(lái)使用。Apache是一個(gè)WEB服務(wù)器軟件,和Microsoft的IIS相比,具有免費(fèi)、開(kāi)源、輕便,運(yùn)行可靠的優(yōu)勢(shì),據(jù)統(tǒng)計(jì),目前在全球的WEB服務(wù)器市場(chǎng),Apache占有60%的市場(chǎng)。PHP是一個(gè)跨平臺(tái)的服務(wù)器端的腳本語(yǔ)言,它是專(zhuān)門(mén)為Web而設(shè)計(jì)的。在HTML頁(yè)面中可以嵌入PHP代碼,這些代碼在每次頁(yè)面被訪問(wèn)時(shí)執(zhí)行。PHP代碼將在Web服務(wù)器中被解釋并且生成HTML輸出。PHP免費(fèi)、開(kāi)源。支持?jǐn)?shù)據(jù)庫(kù)操作,可以和HTML混和編輯,是進(jìn)行中小型WEB開(kāi)發(fā)的一個(gè)理想的工具。PHP對(duì)各種數(shù)據(jù)庫(kù)具有良好的支持,包括但不局限于:ORACLE、IBM DB2、MySQL、PostgreSQL、INFORMIX、SYSBASE、SQL SEVER、ACCESS等。而且最新的PHP5引入了新的對(duì)象模型(Object Model),完全重寫(xiě)了 PHP 處理對(duì)象的方式,具有更佳性能和更多特性。目前,已有超過(guò)2300萬(wàn)個(gè)站點(diǎn)使用PHP。同時(shí),PHP的源代碼完全公開(kāi),在Open Source意識(shí)抬頭的今天,它更是這方面的中流砥柱,隨著新函數(shù)庫(kù)的不斷加入,使PHP無(wú)論在Unix或是Win32的平臺(tái)上都可以有更多新的功能。MySQL是一個(gè)快速、健壯和易用,且支持多線程、多用戶的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS)。允許你高效地存儲(chǔ)、搜索、排序和檢索數(shù)據(jù)。具有速度快、運(yùn)行穩(wěn)定的特點(diǎn)。和微軟的ACCESS相比,ACCESS屬于桌面型單機(jī)數(shù)據(jù)庫(kù),對(duì)SQL92的支持不完全。MySQL屬于網(wǎng)絡(luò)型數(shù)據(jù)庫(kù),支持多人同時(shí)并發(fā)操作。而且最新的MySQL5具有許多新的特性,如外鍵、事務(wù)、子查詢、視圖、存儲(chǔ)過(guò)程、游標(biāo)、觸發(fā)器等企業(yè)級(jí)數(shù)據(jù)庫(kù)具有的特征。對(duì)于開(kāi)發(fā)數(shù)據(jù)驅(qū)動(dòng)的網(wǎng)站而言,選擇MySQL應(yīng)該說(shuō)是最佳組合,這不僅因?yàn)镸ySQL是免費(fèi)的,更在于它具有許多同大型數(shù)據(jù)庫(kù)相媲美甚至超過(guò)它們的優(yōu)良性能。更重要的是,雖然Apache、MySQL和PHP本身并不是專(zhuān)門(mén)設(shè)計(jì)成同另外幾個(gè)程序一起工作的,但由于它們都是影響較大的開(kāi)源軟件,擁有容易學(xué)習(xí)、便于使用,而且都跨平臺(tái)這些共同特點(diǎn),這就導(dǎo)致了這些組件經(jīng)常在一起使用。在過(guò)去的幾年里,這些組件的兼容性不斷完善,在一起的應(yīng)用情形變得更加普遍。并且它們?yōu)榱烁纳撇煌M件之間的協(xié)作,已經(jīng)創(chuàng)建了某些擴(kuò)展功能。目前,幾乎在所有的Linux發(fā)布版中都默認(rèn)包含了這些產(chǎn)品。Linux操作系統(tǒng)、Apache服務(wù)器、MySQL數(shù)據(jù)庫(kù)和PHP語(yǔ)言,這些產(chǎn)品共同組成了一個(gè)強(qiáng)大的Web應(yīng)用程序平臺(tái),因此本網(wǎng)站系統(tǒng)采用LAMP的解決方案非常理想,不僅配置簡(jiǎn)單、性能好、質(zhì)量和可行性高且在很大程度上節(jié)約了成本投資。第三章 系統(tǒng)分析3.1系統(tǒng)需求分析3.1.1功能分析校友聯(lián)誼網(wǎng)站是面向本校學(xué)生的一個(gè)在線交流平臺(tái),每個(gè)用戶都可以發(fā)布各自的信息或提出不同的看法,以便于其他用戶進(jìn)行交流討論。管理員可以對(duì)討論區(qū)、文章、公共信息、新聞公告和用戶進(jìn)行管理。(1)系統(tǒng)需要經(jīng)過(guò)有效的身份驗(yàn)證才能登錄,即經(jīng)過(guò)注冊(cè)以后才能夠登錄進(jìn)入主頁(yè)。(2)在主頁(yè)面,用戶可以進(jìn)行瀏覽相關(guān)信息,查看學(xué)校通知公告,查看、搜索其他用戶發(fā)布的公共信息,通過(guò)友情鏈接進(jìn)入學(xué)校網(wǎng)站主頁(yè)。(3)討論區(qū)分為兩級(jí),即主討論區(qū)和分討論區(qū)。進(jìn)入討論區(qū)模塊后,用戶可以像在BBS里一樣瀏覽文章、發(fā)布文章、回復(fù)文章。(4)將用戶個(gè)人資料管理和發(fā)布公共信息歸為個(gè)人空間,進(jìn)入后用戶可以自己修改注冊(cè)信息(包括對(duì)密碼的修改),以及發(fā)布公共信息。(5)進(jìn)入后臺(tái),首先是管理員的登錄,分別實(shí)現(xiàn)討論區(qū)的管理,公告的發(fā)布,文章、公共信息以及用戶的管理等。3.1.2可行性分析可行性分析(Feasibility Analysis)也稱(chēng)為可行性研究,是在系統(tǒng)調(diào)查的基礎(chǔ)上,針對(duì)新系統(tǒng)的開(kāi)發(fā)是否具備必要性和可能性,對(duì)新系統(tǒng)的開(kāi)發(fā)從技術(shù)、社會(huì)等方面進(jìn)行分析和研究,保證新系統(tǒng)的開(kāi)發(fā)成功。可行性研究的目的就是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問(wèn)題是否能夠解決。本系統(tǒng)是由本單位人員研發(fā)的,Linux+Apache+MySQL+PHP的環(huán)境使用的都是開(kāi)源免費(fèi)的操作系統(tǒng)和軟件,在經(jīng)濟(jì)上可以說(shuō)是支出很有限的,并且本系統(tǒng)實(shí)施后可以顯著提高工作效率。所以本系統(tǒng)在經(jīng)濟(jì)上是可行的。同時(shí)系統(tǒng)的軟件開(kāi)發(fā)平臺(tái)成熟可行;硬件方面,在科技飛速發(fā)展的今天,硬件更新的速度越來(lái)越快,容量越來(lái)越大,可靠性越來(lái)越高,價(jià)格越來(lái)越低,其硬件平臺(tái)完全能滿足系統(tǒng)的需要。而且大學(xué)的校園網(wǎng)路覆蓋了教學(xué)區(qū)和學(xué)生區(qū)的主要建筑物,從而滿足了校內(nèi)各學(xué)院,各職能部門(mén),各直屬單位上網(wǎng)需求。學(xué)校良好的網(wǎng)絡(luò)設(shè)施為信息學(xué)院開(kāi)發(fā)學(xué)院級(jí)網(wǎng)站系統(tǒng)提供了堅(jiān)實(shí)的基礎(chǔ)。綜上所述,此系統(tǒng)開(kāi)發(fā)目標(biāo)已明確,在技術(shù)和經(jīng)濟(jì)等方面都可行,并且投入少、見(jiàn)效快。因此系統(tǒng)的開(kāi)發(fā)是完全可行的。3.1.3子系統(tǒng)分析功能分析階段已經(jīng)粗略的研究了該系統(tǒng)的需求,并分析了開(kāi)發(fā)平臺(tái)及軟件的可行性,但為了準(zhǔn)確確定目標(biāo)系統(tǒng)必須做什么,了解用戶的明確需求,現(xiàn)進(jìn)一步明確所要實(shí)現(xiàn)的子系統(tǒng)功能。(1)用戶注冊(cè)登錄模塊本系統(tǒng)主要是提供給曉莊學(xué)院信息技術(shù)學(xué)院學(xué)生使用的,用戶登錄之后才可以使用該網(wǎng)站系統(tǒng),所以用戶注冊(cè)時(shí)必須填寫(xiě)自己的真實(shí)姓名而且必須是漢字組成。同時(shí)在用戶丟失密碼后可以重建賬號(hào)密碼,為了實(shí)現(xiàn)郵箱激活新密碼功能,用戶注冊(cè)時(shí)需要提供真實(shí)郵箱地址。用戶訪問(wèn)網(wǎng)站結(jié)束后可以安全登出。(2)討論區(qū)模塊用戶進(jìn)入討論區(qū)前臺(tái)后可以瀏覽文章、發(fā)表和回復(fù)文章。管理員在后臺(tái)可以添加、修改、刪除討論區(qū),也可以對(duì)文章進(jìn)行管理,如刪除。(3)個(gè)人空間模塊系統(tǒng)將用戶個(gè)人資料修改和發(fā)布公共信息的功能歸并如個(gè)人空間模塊,用戶進(jìn)入個(gè)人空間模塊后可以發(fā)布公共信息、修改自己的注冊(cè)信息,包括用戶名、密碼和郵箱地址等。(4)后臺(tái)管理模塊主要功能是負(fù)責(zé)討論區(qū)、文章、公共信息和用戶的管理,如修改和刪除,以及新聞公告的發(fā)布和管理。第四章 系統(tǒng)設(shè)計(jì)4.1總體結(jié)構(gòu)根據(jù)前面的需求分析和子系統(tǒng)分析,設(shè)計(jì)出校友聯(lián)誼網(wǎng)站的總體結(jié)構(gòu)圖如圖6所示:圖6 “校友聯(lián)誼網(wǎng)站”總體結(jié)構(gòu)圖4.2設(shè)計(jì)概要4.2.1首頁(yè)設(shè)計(jì)結(jié)合網(wǎng)站需求和功能分析,設(shè)定網(wǎng)站總體風(fēng)格后設(shè)計(jì)網(wǎng)站首頁(yè)如圖7所示。網(wǎng)站首頁(yè)是一個(gè)學(xué)院的形象頁(yè)面,首頁(yè)的設(shè)計(jì)對(duì)整個(gè)網(wǎng)站來(lái)說(shuō)是非常重要的,色調(diào)和諧,排版整齊的主頁(yè)會(huì)給人留下好的第一印象。一個(gè)完整的網(wǎng)站,應(yīng)當(dāng)在主頁(yè)上就各方面的內(nèi)容呈現(xiàn)出來(lái),從而讓瀏覽者從主頁(yè)上獲取更多的信息,再吸引他們進(jìn)行進(jìn)一步了解,提高網(wǎng)站的人氣。4.2.2前臺(tái)模塊設(shè)計(jì)(1)系統(tǒng)首頁(yè)在系統(tǒng)首頁(yè)設(shè)計(jì)中,充分利用了表格規(guī)劃網(wǎng)頁(yè),體現(xiàn)了布局管理特性,整個(gè)頁(yè)面布局整齊,條理清晰,模塊劃分明確。導(dǎo)航條直觀的將網(wǎng)站的幾個(gè)模塊清晰地呈現(xiàn)給用戶,用戶可以直接鏈接到相關(guān)功能,這都明確地提示和引導(dǎo)了使用者怎樣進(jìn)行適當(dāng)?shù)牟僮鳌5顷懞缶W(wǎng)頁(yè)上顯示用戶登錄信息并給出安全登出的鏈接。布局的左半部分由四塊組成,最上方是一個(gè)用JavaScript編寫(xiě)的萬(wàn)年歷程序,顯示當(dāng)前日期和時(shí)間,中間是網(wǎng)站的最新新聞公告和公共信息搜索部分,最下方是友情鏈接,用戶可以通過(guò)圖片輕松鏈接到南京曉莊學(xué)院的主頁(yè)。布局的右半部分由學(xué)校簡(jiǎn)介和公共信息2個(gè)模塊信息組成。學(xué)校簡(jiǎn)介部分簡(jiǎn)要介紹了學(xué)校的歷史和現(xiàn)況及成果。公共信息部分列出了最新的十條公共信息,用戶可以點(diǎn)擊信息標(biāo)題查看具體內(nèi)容,點(diǎn)擊more圖標(biāo)瀏覽顯示全部該模塊信息。圖7 網(wǎng)站首頁(yè)(2)討論區(qū)進(jìn)入導(dǎo)航條該處直接鏈接進(jìn)入討論區(qū),顯示討論區(qū)首頁(yè),用戶進(jìn)入后可以瀏覽、發(fā)表或回復(fù)文章。(3)個(gè)人空間進(jìn)入導(dǎo)航條該處直接鏈接進(jìn)入個(gè)人空間,用戶進(jìn)入后修改自己的注冊(cè)信息或發(fā)布公共信息。(4)后臺(tái)管理入口導(dǎo)航條該處提供了管理員進(jìn)入后臺(tái)的入口,管理員登入后臺(tái)可以發(fā)布新聞公告,實(shí)施對(duì)討論區(qū)、文章、公共信息和用戶管理,進(jìn)行修改和刪除等操作。(5)登出供用戶安全退出本系統(tǒng)。4.2.3后臺(tái)管理設(shè)計(jì)在判斷權(quán)限允許后,管理員登陸進(jìn)入后臺(tái)管理模塊,后臺(tái)首頁(yè)如圖8所示:圖8 后臺(tái)頁(yè)面(1)管理討論區(qū)管理員可以新建討論區(qū)、對(duì)現(xiàn)存討論區(qū)信息進(jìn)行修改或者刪除討論區(qū)。(2)管理公共信息/文章管理員可以管理公共信息/討論區(qū)文章,查看、刪除相應(yīng)公共信息或文章。(3)管理新聞公告管理員可以發(fā)布或刪除新聞公告。(4)管理用戶管理員可以管理用戶,執(zhí)行修改用戶注冊(cè)資料(修改用戶密碼)、刪除用戶等操作。(5)返回前臺(tái)首頁(yè)可方便管理員返回前臺(tái)首頁(yè),瀏覽網(wǎng)站其他模塊。4.3數(shù)據(jù)庫(kù)設(shè)計(jì)4.3.1數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)根據(jù)校友聯(lián)誼網(wǎng)站系統(tǒng)的功能需求,數(shù)據(jù)庫(kù)中應(yīng)有用戶信息表、公共信息表、新聞公告表、討論區(qū)分類(lèi)主題表、文章表以及密碼重建表。圖9 E-R圖其中,用戶信息表應(yīng)該包括用戶名、用戶真實(shí)姓名、用戶密碼、用戶性別、班級(jí)名稱(chēng)、常用郵箱地址、通訊地址以及其他聯(lián)系方式、密碼提示問(wèn)題和密碼提示答案、自我介紹、用戶權(quán)限、用戶發(fā)表文章數(shù)、注冊(cè)時(shí)間、登錄次數(shù)等信息。同時(shí),為了保證隱私和安全性,管理員應(yīng)該不能看到用戶的密碼,所以表中存放的應(yīng)是MD5加密過(guò)后的字段。公共信息表應(yīng)該包括信息編號(hào)、信息標(biāo)題、信息的發(fā)布人、信息內(nèi)容、信息的類(lèi)型以及信息發(fā)布的時(shí)間等信息。新聞公告表應(yīng)包括新聞編號(hào)、新聞標(biāo)題、新聞的發(fā)布人、新聞的內(nèi)容和新聞發(fā)布時(shí)間等信息。討論區(qū)分類(lèi)主題表應(yīng)包括討論區(qū)編號(hào)、是否是主討論區(qū)、所屬主討論區(qū)編號(hào)、討論區(qū)名、討論區(qū)描述(介紹)、最后發(fā)表的文章信息、論區(qū)下所有文章的數(shù)量以及主題文章的數(shù)量等信息。文章表應(yīng)包括文章編號(hào)、文章所屬討論區(qū)編號(hào)、是否為回復(fù)的文章、作者用戶名、作者真實(shí)姓名、文章標(biāo)題、文章內(nèi)容、文章的瀏覽量和回復(fù)量、文章發(fā)表時(shí)間和最后回復(fù)時(shí)間等信息。密碼重建表應(yīng)包括用戶名、驗(yàn)證碼和新密碼這三個(gè)基本信息。數(shù)據(jù)庫(kù)的E-R圖反映了實(shí)體、實(shí)體的屬性和實(shí)體之間的聯(lián)系,如圖9所示。4.3.2數(shù)據(jù)庫(kù)物理結(jié)構(gòu)根據(jù)以上分析,數(shù)據(jù)庫(kù)中6張表的物理結(jié)構(gòu)如下:表1用戶數(shù)據(jù)表member關(guān)鍵字段類(lèi)型及含義序號(hào)字段名稱(chēng)類(lèi)型注釋1idvarchar(12)primarykey,用戶名,不允許為空2passwdvarchar(200)用戶密碼,MD5加密后結(jié)果,不允許為空3namevarchar(8)用戶真實(shí)姓名4Emailvarchar(50)用戶常用郵箱地址5powerint(1)用戶權(quán)限,不允許為空6postnumint(4)用戶發(fā)表文章量,不允許為空7jointimedatetime用戶注冊(cè)時(shí)間8logintimesint(4)用戶登錄次數(shù)表2公共信息表message關(guān)鍵字段類(lèi)型及含義序號(hào)字段名稱(chēng)類(lèi)型注釋1idtinyint(4)primarykey,公共信息編號(hào) ,自動(dòng)增12titlevarchar(40)公共信息標(biāo)題3authorvarchar(8)信息發(fā)布人4content text公共信息內(nèi)容5mess_sortvarchar(15)公共信息類(lèi)型6posttimedatetime信息發(fā)布時(shí)間表3新聞公告表news關(guān)鍵字段類(lèi)型及含義序號(hào)字段名稱(chēng)類(lèi)型注釋1idtinyint(4)primarykey,新聞公告編號(hào) ,自動(dòng)增12titlevarchar(40)新聞公告標(biāo)題3authorvarchar(8)新聞發(fā)布人4content text新聞公告內(nèi)容5posttimedatetime新聞發(fā)布時(shí)間表4討論區(qū)表topic關(guān)鍵字段類(lèi)型及含義序號(hào)字段名稱(chēng)類(lèi)型注釋1idtinyint(4)primarykey,討論區(qū)編號(hào) ,自動(dòng)增12pidint(4)主討論區(qū)編號(hào)(主論區(qū)該字段為0)3namevarchar(20)討論區(qū)名4description varchar(80)討論區(qū)描述5lastpostidint(4)最后發(fā)表文章編號(hào)6postcountint(4)文章量7post_m_countint(4)主題量表5文章表posts關(guān)鍵字段類(lèi)型及含義序號(hào)字段名稱(chēng)類(lèi)型注釋1idint(4)primarykey,新聞公告編號(hào) ,自動(dòng)增12topicidint(4)所屬討論區(qū)編號(hào)3re_idint(4)回復(fù)文章編號(hào)(主題文章該字段為0)4posteridvarchar(12)作者ID5postervarchar(8)作者姓名6titlevarchar(40)文章標(biāo)題7content text文章內(nèi)容8viewcountint(4)問(wèn)行瀏覽量9re_countint(4)文章回復(fù)量10posttimedatetime文章發(fā)布時(shí)間11Last_re_timedatetime最后回復(fù)文章發(fā)布時(shí)間表6重建密碼表findpass表關(guān)鍵字段類(lèi)型及含義序號(hào)字段名稱(chēng)類(lèi)型注釋1idtinyint(12)primarykey,用戶名2codestringvarchar(20)驗(yàn)證碼3newpassvarchar(200)新密碼,MD5加密后結(jié)果第五章 系統(tǒng)實(shí)現(xiàn)5.1用戶注冊(cè)登錄模塊網(wǎng)站與用戶是密不可分的,既然需要注冊(cè)用戶就要提供給用戶一個(gè)友好的注冊(cè)登陸界面。用戶注冊(cè)登錄模塊的功能包括:用戶注冊(cè)、用戶登錄登出和密碼重建三大部分。5.1.1用戶注冊(cè)新用戶注冊(cè)頁(yè)面提供給用戶一個(gè)表單,以便讓用戶輸入相關(guān)內(nèi)容。新用戶想要訪問(wèn)本網(wǎng)站必須先注冊(cè),填寫(xiě)真實(shí)信息。圖10 新用戶注冊(cè)頁(yè)面其中用戶名、密碼、真實(shí)姓名、性別、班級(jí)以及常用郵件地址為必填選項(xiàng)。用戶名和真實(shí)姓名唯一不可重復(fù)。選中高級(jí)選項(xiàng)復(fù)選框會(huì)顯示表單隱藏項(xiàng),用戶可以選填手機(jī)、QQ、自我介紹等信息。用戶注冊(cè)過(guò)程中可以檢測(cè)自己想要使用的用戶名是否已經(jīng)被他人使用。實(shí)現(xiàn)該功能的主要代碼如下:function checkId()var value = $(id).value;if($(id).value!=)var url = deal_checkId.php?id=+value;new Ajax.Request(url,method : get,onSuccess : function(response) resultcount = parseInt(response.responseText); if(resultcount =0) alert(可以使用該用戶名!);elsealert(很抱歉,用戶名已經(jīng)被注冊(cè)!);.bind(this),onFailure : function() alert(很抱歉,頁(yè)面出錯(cuò)!); .bind(this) );else alert(請(qǐng)輸入用戶名!);該JavaScript程序首先獲取用戶名,和deal_checkId.php頁(yè)面進(jìn)行交互,deal_checkId.php頁(yè)面從數(shù)據(jù)庫(kù)中讀取記錄,返回id字段值為所傳用戶名的記錄的條數(shù)。Ajax.Request()判斷獲取到的返回值,如果已經(jīng)存在記錄,則給出用戶名已經(jīng)被注冊(cè)的提示,反之則提示可以使用該用戶名。在用戶輸入密碼時(shí)頁(yè)面調(diào)用JavaScript依據(jù)密碼長(zhǎng)度、包含的字符判斷密碼強(qiáng)度,并自動(dòng)檢測(cè)兩次密碼輸入是否一致,給出提示。注冊(cè)的后臺(tái)處理首先獲取用戶輸入的各項(xiàng)內(nèi)容,其中登錄用戶名和真實(shí)姓名是最為重要的兩項(xiàng),因?yàn)檫@兩項(xiàng)要求具有唯一性,且真實(shí)姓名要作為與其他用戶交流的唯一依據(jù),所以要對(duì)用戶輸入的數(shù)據(jù)進(jìn)行判斷。regist.php頁(yè)面表單獲取到的數(shù)據(jù)用POST方法傳到deal_reg.php頁(yè)面進(jìn)行處理。在deal_reg.php頁(yè)面首先判斷必填信息是否都為空,再進(jìn)入數(shù)據(jù)庫(kù)查詢用戶名是否已經(jīng)存在,判斷兩次輸入密碼是否一致,檢查郵箱地址格式是否正確,密碼提示問(wèn)題與答案是否對(duì)應(yīng)。如果都沒(méi)有問(wèn)題則用MD5加密用戶密碼,向數(shù)據(jù)庫(kù)中添加用戶信息記錄,否則提示錯(cuò)誤信息,返回注冊(cè)頁(yè)面請(qǐng)用戶重新填寫(xiě)注冊(cè)。判斷郵箱格式的代碼如下:if(preg_match(/w-*.*w-+(0-9a-zA-Z0-9a-zA-Z-*.)+a-zA-Z2,3$/,$Email)=0)$error.=請(qǐng)正確填寫(xiě)Email!;5.1.2用戶登錄登出用戶信息添加到用戶表member后,就要讓用戶能夠正確登錄到系統(tǒng)了。圖11 用戶登錄頁(yè)面用戶在登錄頁(yè)面輸入用戶名和密碼后,處理用戶登錄頁(yè)面deal_login.php根據(jù)用戶名從數(shù)據(jù)庫(kù)中讀出該用戶的信息,并進(jìn)行比較,如果用戶輸入的信息與庫(kù)中存在的一致(用戶名存在,密碼輸入無(wú)誤),則將該用戶的登錄次數(shù)增1,把用戶的相關(guān)登錄信息存為Cookie變量,然后自動(dòng)跳轉(zhuǎn)到網(wǎng)站首頁(yè),實(shí)現(xiàn)代碼如下:/用戶登錄次數(shù)增1$sql=update member set logintimes=logintimes+1 where id=$rowsid;mysql_query($sql);setcookie(user,$rowsname); /使用Cookie保存用戶的登錄信息header(Location:index.php);為什么使用COOKIE:編寫(xiě)Web互動(dòng)程序,保存用戶的登錄信息是十分必要的,這樣可以提高網(wǎng)站對(duì)用戶的吸引力。目前常見(jiàn)的存儲(chǔ)機(jī)制有兩種:一種是把用戶信息存儲(chǔ)于服務(wù)器端的主機(jī)上的Session;另一種是把用戶信息存儲(chǔ)于客戶端即客戶機(jī)上的Cookie。同樣作為互動(dòng)Web頁(yè)的存儲(chǔ)機(jī)制Session與Cookie有其相似之處。本系統(tǒng)之所以選擇使用Cookie主要是因?yàn)橥琒ession相比Cookie有其獨(dú)特之處。1. Cookie保存在客戶端,而Session的內(nèi)容保存在服務(wù)器端,只是把一個(gè)Session id保存在客戶端。也就是說(shuō),Cookie比Session更安全,同時(shí)也說(shuō)明Session是基于Cookie的(用Cookie來(lái)保存Session id)。2. 由于Session是保存在服務(wù)器端的,因此會(huì)占用服務(wù)器的空間,所以在一定
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 健康運(yùn)動(dòng)幼兒托班:助力幼兒快樂(lè)成長(zhǎng)
- 胰島素瘤循證護(hù)理
- 小班保護(hù)五官健康
- 野外生存教育
- 正交試驗(yàn)設(shè)計(jì)方法
- 大學(xué)生體育與心理健康
- 新加坡初等教育體系概覽
- 新生兒肛周膿腫的護(hù)理
- 2025年山東省東營(yíng)市中考招生考試數(shù)學(xué)真題試卷
- 預(yù)防跌倒護(hù)理課件
- 2024年民族宗教政策法規(guī)宣傳月知識(shí)競(jìng)賽考試題庫(kù)(含答案)
- 《3-6歲兒童學(xué)習(xí)與發(fā)展指南》考試參考題庫(kù)120題(含答案)
- 診所中藥飲片清單
- 零信任安全架構(gòu)-第1篇
- 《發(fā)酵飼料的應(yīng)用》課件
- 物業(yè)客服主管的角色與職責(zé)解析
- 國(guó)家開(kāi)放大學(xué)2023年7月期末統(tǒng)一試《22417客戶關(guān)系管理》試題及答案-開(kāi)放專(zhuān)科
- 西式面點(diǎn)師(高級(jí))課件 項(xiàng)目4 甜品制作
- 鼎捷T100-V1.0-銷(xiāo)售管理用戶手冊(cè)-簡(jiǎn)體
- 抗生素的合理應(yīng)用-專(zhuān)業(yè)知識(shí)講座培訓(xùn)課件
- 港式清單模板
評(píng)論
0/150
提交評(píng)論