校園二手信息網(wǎng)站的設(shè)計(jì)和開(kāi)發(fā)_第1頁(yè)
校園二手信息網(wǎng)站的設(shè)計(jì)和開(kāi)發(fā)_第2頁(yè)
校園二手信息網(wǎng)站的設(shè)計(jì)和開(kāi)發(fā)_第3頁(yè)
校園二手信息網(wǎng)站的設(shè)計(jì)和開(kāi)發(fā)_第4頁(yè)
校園二手信息網(wǎng)站的設(shè)計(jì)和開(kāi)發(fā)_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 校園二手信息的設(shè)計(jì)與開(kāi)發(fā)論文 申請(qǐng)學(xué)位專(zhuān)業(yè):申請(qǐng)學(xué)位類(lèi)別:指導(dǎo)教師(職稱(chēng)):論文提交日期:26 / 30校園二手信息的設(shè)計(jì)與開(kāi)發(fā)摘 要本設(shè)計(jì)具有一般電子商務(wù)的功能,且體現(xiàn)出校園風(fēng)格。該系統(tǒng)提供的功能包括注冊(cè)、查詢(xún)信息、發(fā)布信息、找回密碼等。本系統(tǒng)的特點(diǎn)在于應(yīng)用了PHP技術(shù)。它是一種簡(jiǎn)單的動(dòng)態(tài)腳本語(yǔ)言,具有開(kāi)放源碼、執(zhí)行速度快的特點(diǎn)。該技術(shù)還支持廣泛的數(shù)據(jù)庫(kù)連接 ,具有大量的擴(kuò)展庫(kù),安全性能高,易學(xué)易用。校園二手交易信息,為二手物品交易提供了網(wǎng)上平臺(tái)。如今,隨著電子商務(wù)的不斷發(fā)展完善,大學(xué)校園也需要一個(gè)能為學(xué)生提供二手物品交易的專(zhuān)用,以便發(fā)布各種商品信息。本文首先介紹了該系統(tǒng)的可行性和應(yīng)用工具

2、,并就系統(tǒng)的需求性和PHP的優(yōu)勢(shì)進(jìn)行了闡述;接著進(jìn)行系統(tǒng)分析,并設(shè)計(jì)了本系統(tǒng)所用到的基于MY SQL數(shù)據(jù)庫(kù)的數(shù)據(jù)表結(jié)構(gòu);然后對(duì)該系統(tǒng)各功能模塊進(jìn)行了詳細(xì)設(shè)計(jì);最后,針對(duì)系統(tǒng)在代碼優(yōu)化和加密方面的不足做出總結(jié)。關(guān)鍵詞:二手信息;PHP;MySQL;APACHE;MD5;SESSIONDesign and Developmentof Campus Second-hand Information WebsiteAbstractSecond-hand information website provides a second-hand goods transactions online platfor

3、m. Now, with the continuous development of e-commerce perfect, University campus also needs an able to provide our students with the second-hand goods transactions dedicated web site, in order to disseminate information of various commodities.E-commerces general function can find in this design, and

4、 reflects the style of the campus. Functions include user registration, information inquiry, disseminate information and retrieve passwords in the system. The system has a major characteristic of PHP applications which is a simple dynamic scripting language that is open source, faster implementation

5、 characteristics. And it supports a wide range of database connections, with a lot of extensions, security is also very high performance, easy to learn and use.This paper introduces the feasibility of the system and application tools, described the needs of the system and the advantages of PHP, then

6、 the systems analysis, design and MY SQL-based database system used in the data table structure, Then the function of the system modules and the detailed design and code is a major achievement. Description and testing of the system encountered a character coding using the database errors; by setting

7、 MYSQL and linking coding solve this error. Finally, summarize the system of encryption and code optimization for the shortage.Key words:Second-Hand Information; PHP; MySQL; APACHE; MD5; SESSION目 錄1引言11.1課題的背景11.2可行性分析11.2.1技術(shù)可行性11.2.2經(jīng)濟(jì)可行性11.2.3運(yùn)行可行性11.2.4法律可行性22理論基礎(chǔ)知識(shí)介紹22.1PHP技術(shù)22.1.1PHP簡(jiǎn)介22.1.2PH

8、P安裝32.2MySQL 簡(jiǎn)介52.2.1MySQL 簡(jiǎn)介52.2.2數(shù)據(jù)庫(kù)引擎72.3Apache簡(jiǎn)介73系統(tǒng)分析與數(shù)據(jù)庫(kù)設(shè)計(jì)83.1系統(tǒng)功能需求分析83.2系統(tǒng)模塊關(guān)系圖83.3系統(tǒng)E-R圖93.4數(shù)據(jù)庫(kù)設(shè)計(jì)113.4.1數(shù)據(jù)庫(kù)表之間的關(guān)系113.4.2數(shù)據(jù)表結(jié)構(gòu)的詳細(xì)設(shè)計(jì)113.5系統(tǒng)安全134系統(tǒng)的實(shí)現(xiàn)144.1系統(tǒng)的主要功能144.1.1注冊(cè)144.1.2搜索信息164.1.3發(fā)布信息184.1.4數(shù)據(jù)庫(kù)連接代碼204.2創(chuàng)建界面215系統(tǒng)測(cè)試225.1本地服務(wù)器測(cè)試225.2遠(yuǎn)程服務(wù)器測(cè)試22結(jié)論24參考文獻(xiàn)25致261 引 言1.1 課題的背景隨著Internet 爆炸式的發(fā)展,

9、中國(guó)自加入WTO以來(lái),電子商務(wù)在國(guó)也迅速的發(fā)展了起來(lái),現(xiàn)在互聯(lián)網(wǎng)上各種電子商務(wù)更是迅速的增長(zhǎng)。還在校園的我也深受其中的影響,開(kāi)發(fā)一個(gè)對(duì)在校學(xué)生適用的,希望能給大家提供方便的服務(wù)。作為一個(gè)大學(xué)生,深有體會(huì),從身上的衣服到大家所用的書(shū)籍、文具以至各種生活常用品,用上一段時(shí)間就會(huì)被淘汰,有的同學(xué)干脆扔掉,很是浪費(fèi)還污染了環(huán)境。也有的同學(xué)想到賣(mài)掉,苦于難尋買(mǎi)家,將其賣(mài)給收費(fèi)品的。這樣就造成了物不能盡其用。為了解決這種資源的浪費(fèi),所以開(kāi)發(fā)了校園二手信息,借助于低交易成本的Internet。為大家提供一個(gè)低成本、快速迅捷的信息發(fā)布平臺(tái)。新系統(tǒng)開(kāi)發(fā)過(guò)程中嚴(yán)格按照系統(tǒng)開(kāi)發(fā)步驟進(jìn)行,在系統(tǒng)調(diào)研、分析、設(shè)計(jì)到系統(tǒng)

10、的實(shí)施的全過(guò)程中,力求其科學(xué)性和合理性。1.2 可行性分析可行性分析的任務(wù)是從技術(shù)上、經(jīng)濟(jì)上、社會(huì)上、法律上分析需要解決的問(wèn)題是否存在可行的解。1.2.1 技術(shù)可行性該系統(tǒng)采用BS模式設(shè)計(jì),在高校的校園網(wǎng)上運(yùn)行。學(xué)生可以通過(guò)接入校園網(wǎng)的計(jì)算機(jī),訪問(wèn)二手信息。本系統(tǒng)是一個(gè)比較普通的BS模式的信息發(fā)布系統(tǒng),在技術(shù)上具有可行性。1.2.2 經(jīng)濟(jì)可行性現(xiàn)在,計(jì)算機(jī)的價(jià)格已經(jīng)十分低廉,性能卻有了長(zhǎng)足的進(jìn)步。而本系統(tǒng)的開(kāi)發(fā),為大家節(jié)約了大量的資源,為此主要表現(xiàn)有以下幾個(gè)方面: 本系統(tǒng)的運(yùn)行可以代替廢物買(mǎi)賣(mài)貼示,避免一些不必要的麻煩; 本系統(tǒng)的運(yùn)行可以節(jié)省許多資源; 本系統(tǒng)的運(yùn)行可以大大的提高廢物再利用;

11、本系統(tǒng)可以使敏感文檔更加安全,等等。所以,本系統(tǒng)在經(jīng)濟(jì)上是可行的。1.2.3 運(yùn)行可行性系統(tǒng)為一個(gè)小型的信息管理系統(tǒng),所耗費(fèi)的資源非常的小,一般的電腦無(wú)論是硬件還是軟件都能夠滿(mǎn)足條件,因此,本系統(tǒng)在運(yùn)行上是可行的。1.2.4 法律可行性系統(tǒng)純?yōu)樗饺嗽O(shè)計(jì),在開(kāi)發(fā)過(guò)程中沒(méi)有涉與合同、責(zé)任等與法律相抵觸的方面。因此,本系統(tǒng)在法律上是可行的。2 理論基礎(chǔ)知識(shí)介紹2.1 PHP技術(shù)2.1.1 PHP簡(jiǎn)介PHP是一種簡(jiǎn)單的、面向?qū)ο蟮?、解釋型的、安全的、性能非常之高的、?dú)立于架構(gòu)的、可移植的、動(dòng)態(tài)的腳本語(yǔ)言。PHP具有和Java類(lèi)似的Class關(guān)鍵字。因?yàn)椴恍枰摂M機(jī),以致速度比Java快5倍。PHP正迅

12、速變成一種標(biāo)準(zhǔn)的、多用途的、面向?qū)ο蟮哪_本語(yǔ)言。PHP不僅可用來(lái)開(kāi)發(fā)Web應(yīng)用程序,也可以開(kāi)發(fā)普通應(yīng)用程序。PHP是HypertextPre-Processor(超文本預(yù)處理器)的縮寫(xiě),它是一種服務(wù)器端的HTML腳本編程語(yǔ)言。PHP語(yǔ)法上與C相似,可運(yùn)行在Apache, Netscape/iPlanet,和MicrosoftIISWeb服務(wù)器上。PHP作為一種工具,可以讓你創(chuàng)建動(dòng)態(tài)的Web頁(yè)面。應(yīng)用PHP的網(wǎng)頁(yè)與常規(guī)的HTML頁(yè)面并無(wú)二致,你可以用同樣的方式來(lái)創(chuàng)建、編輯它們。PHP允許你直接在HTML文件里寫(xiě)入簡(jiǎn)單的腳本,這一點(diǎn)與JavaScript非常相似。而不同的是,PHP不依賴(lài)于瀏覽器,

13、是服務(wù)器端的語(yǔ)言,而JavaScript卻是一種客戶(hù)端的嵌在HTML中的語(yǔ)言。概念上,PHP與Netscape的LiveWirePro產(chǎn)品,Microsoft的ASP以與SunMicrosystem的JSP相似。1. PHP的強(qiáng)勁之處在于:PHP是一項(xiàng)最優(yōu)秀的技術(shù)。其它技術(shù),如PERL,Python,VB Script,ASP相對(duì)來(lái)說(shuō),都是舊低劣的。即使是Java/JSP,也在PHP之下。其特點(diǎn)如下: 兼容性:PHP5.0程序可與舊版本兼容; 易學(xué)易用:PHP的語(yǔ)法類(lèi)似C與Per,所以有程序編寫(xiě)經(jīng)驗(yàn)者很快即可上手; 開(kāi)放的來(lái)源:PHP的原始碼與編譯后文件可免費(fèi)下載; 可擴(kuò)充:使用者可新增模塊以

14、擴(kuò)充PHP引擎之功能; 跨平臺(tái):PHP程序可在數(shù)種主要作業(yè)平臺(tái)與Web服務(wù)器上執(zhí)行。 支持多種數(shù)據(jù)庫(kù):PHP支持十余鐘數(shù)據(jù)庫(kù),且編寫(xiě)存取數(shù)據(jù)庫(kù)資料的程序相當(dāng)容易。PHP是最好的,因?yàn)樗嫦驅(qū)ο螅⑶椅樟薈/C+/Java/PERL的精華。PHP可以替代PERL,Python,Java,C,C+,AWK,Unix Shell腳本,VisualBasic和其它語(yǔ)言。PHP直接運(yùn)行,而且是由C寫(xiě)成的。PHP可以運(yùn)行在Apache,MicrosoftIIS等多種Web服務(wù)器上。PHP太容易使用了,你可以用它在非常短的時(shí)間里,非常迅速的開(kāi)發(fā)出非常復(fù)雜的Web。PHP最大的優(yōu)勢(shì)在于PHP自身完全是由C語(yǔ)

15、言寫(xiě)成的,因此可廣泛運(yùn)行于各種平臺(tái)之上,如BeOS,UNIX,MSWindows,AppleMacintosh,IBMOS/2以與其它更多的操作系統(tǒng)。而Windows下開(kāi)發(fā)的PHP代碼也可以不經(jīng)過(guò)任何改變,就用于UNIX/Linux上。2. PHP網(wǎng)頁(yè)執(zhí)行流程PHP與傳統(tǒng)網(wǎng)頁(yè)不同,一般的HTML網(wǎng)頁(yè)在加載時(shí),會(huì)直接將網(wǎng)頁(yè)全部傳到使用者的計(jì)算機(jī)中,然而在使用者的計(jì)算機(jī)上執(zhí)行程序,展示容;PHP則是剛好相反,它主要的用途是在服務(wù)器端的網(wǎng)頁(yè)開(kāi)發(fā),程序員可以通過(guò)程序的控制,讓與訪問(wèn)者交互,進(jìn)而設(shè)計(jì)出迷人的動(dòng)態(tài)網(wǎng)頁(yè)。例如:會(huì)員登錄、資料認(rèn)證網(wǎng)頁(yè)等。如下圖: 圖1 PHP網(wǎng)頁(yè)執(zhí)行流程2.1.2 PHP安裝

16、1、下載PHP安裝程序 ,Windows的PHP安裝分為兩種方式,一種是源代碼安裝方式,一種是EXE安裝方式,雙擊即可安裝。本文主要說(shuō)一下源代碼安裝過(guò)程。下載“PHP-5.0.3-Win32.rar”。然后解壓縮下載到的 RAR文件到c:php2、復(fù)制 c:phpphp5ts.dll 到 c:windowssystem32。(有時(shí)候?yàn)榱朔奖?,在PHP文件夾中點(diǎn)擊搜索*.dll把搜索到的所有文件夾都復(fù)制到system32中也可以)復(fù)制 c:phpphp.ini-recommended(或者是php.ini-dist)為 c:windowsphp.ini然后打開(kāi) c:windowsphp.ini修

17、改如下幾個(gè)地方:如果是在生產(chǎn)服務(wù)器上,可以不用修改下面這兩行 error_reporting=E_ALL & E_NOTICEdisplay_errors = On(這里是修改PHP的錯(cuò)誤提示,OFF為不提示,有些數(shù)據(jù)庫(kù)非錯(cuò)誤信息也會(huì)被PHP當(dāng)做錯(cuò)誤信息輸出,建議用作Web服務(wù)器的關(guān)閉?。┲甘?PHP 擴(kuò)展庫(kù)所在文件夾。extension_dir=c:phpext以下兩個(gè)是超時(shí)時(shí)間:一般是60-120。max_execution_time=90 max_input_time=90post_max_size=8M(6-10M最佳)upload_max_filesize=8M(上傳附件大小最大)d

18、efault_socket_timeout=90(端口時(shí)間60-120)session.gc_maxlifetime=3600(session默認(rèn)存活時(shí)間,秒)session.save_path=c:phpsessiondata(Session的存儲(chǔ)目錄)extension=php_mysql.dll(支持MySQL數(shù)據(jù)庫(kù))extension=php_gd2.dll(支持生成真彩圖片)3. 驗(yàn)證安裝用記事本寫(xiě)幾行代碼:保存為根目錄下為phpinfo.php文件。然后啟動(dòng)瀏覽器,訪問(wèn)localhost/phpinfo.php,如果看到如下畫(huà)面就證明PHP安裝成功了!圖2 PHP信息頁(yè)面2.2 M

19、ySQL 簡(jiǎn)介MySQL是一個(gè)廣受Linux社區(qū)人們喜愛(ài)的半商業(yè)的數(shù)據(jù)庫(kù)。MySQL是可運(yùn)行在大多數(shù)的Linux平臺(tái)(i386,Sparc,etc),以與少許非Linux甚至非Unix平臺(tái)。2.2.1 MySQL 簡(jiǎn)介1、安裝 可以在MySQL站點(diǎn)上獲得大多數(shù)主要的軟件包格式(RPM、DBE、TGZ、RAR)。RAR格式的安裝沒(méi)有多大麻煩,并且無(wú)需初始配置;直接解壓縮運(yùn)行安裝文件即可進(jìn)行安裝。MySQL的守護(hù)進(jìn)程(mysqld)消耗很少的存并在只有在執(zhí)行真正的查詢(xún)時(shí)才裝載到處理器上,這意味著對(duì)小型數(shù)據(jù)庫(kù)來(lái)說(shuō),MySQL可以相當(dāng)輕松地使用而不會(huì)對(duì)其他系統(tǒng)功能有太大的影響。2、數(shù)據(jù)類(lèi)型字段支持大量

20、數(shù)據(jù)類(lèi)型是件好事。通常的整數(shù)、浮點(diǎn)數(shù)、字符串和數(shù)字均以多種長(zhǎng)度表示,并支持變長(zhǎng)的BLOB(Binary Large Object)類(lèi)型。對(duì)整數(shù)字段由自動(dòng)增量選項(xiàng),日期時(shí)間字段也能很好的表示。3、SQL兼容性它也缺乏一些常用的SQL功能,沒(méi)有子選擇(在查詢(xún)中的查詢(xún))。視圖(View)也沒(méi)了。當(dāng)然大多數(shù)子查詢(xún)可以用簡(jiǎn)單的連接子句重寫(xiě),但有時(shí)用兩個(gè)嵌套的查詢(xún)思考問(wèn)題比一個(gè)接容易。同樣,視圖僅僅為程序員隱蔽where子句,但這正是程序員們期望的另一種便利。4、存儲(chǔ)過(guò)程和觸發(fā)器MySQL沒(méi)有一種存儲(chǔ)過(guò)程(Stored Procedure)語(yǔ)言,這是對(duì)習(xí)慣于企業(yè)級(jí)數(shù)據(jù)庫(kù)的程序員的最大限制。多語(yǔ)句SQL命令

21、必須通過(guò)客戶(hù)方代碼來(lái)協(xié)調(diào),這種情形是借助于相當(dāng)健全的查詢(xún)語(yǔ)言和賦予客戶(hù)端鎖定和解鎖表的能力,這樣才允許的多語(yǔ)句運(yùn)行。5、參考完整性MySQL的主要的缺陷之一是缺乏標(biāo)準(zhǔn)的RI機(jī)制;然而,MySQL的創(chuàng)造者也不是對(duì)其用戶(hù)的愿望置若罔聞,并且提供了一些解決辦法。其中之一是支持唯一索引。Rule限制的缺乏(在給定字段域上的一種固定的圍限制)通過(guò)大量的數(shù)據(jù)類(lèi)型來(lái)補(bǔ)償。不簡(jiǎn)單地提供檢查約束(一個(gè)字段相對(duì)于同一行的另一個(gè)字段的之值的限制)、外部關(guān)鍵字和經(jīng)常與RI相關(guān)的“級(jí)聯(lián)刪除”功能。有趣的是,當(dāng)不支持這些功能時(shí),SQL分析器容忍這些語(yǔ)句的句法。這樣做目的是易于移植數(shù)據(jù)庫(kù)到MySQL中。這是一個(gè)很好的嘗試,

22、并且它確實(shí)未來(lái)支持該功能留下方便之門(mén);然而,那些沒(méi)有仔細(xì)閱讀文檔的人可能誤以為這些功能實(shí)際上是存在的。6、安全性自始至終我對(duì)MySQL最大的抱怨是其安全系統(tǒng),它唯一的缺點(diǎn)是復(fù)雜而非標(biāo)準(zhǔn),另外只有到調(diào)用mysqladmin來(lái)重讀用戶(hù)權(quán)限時(shí)才發(fā)生改變。通常的SQL GRANT/REVOKE語(yǔ)句到最近的版本才被支持,但是至少他們現(xiàn)在有了。 MySQL的編寫(xiě)者廣泛地記載了其特定的安全性系統(tǒng),但是它確實(shí)需要一條可能是別無(wú)它法的學(xué)習(xí)過(guò)程。7、備份和恢復(fù)、數(shù)據(jù)導(dǎo)入/導(dǎo)出強(qiáng)制參考一致性的缺乏顯著地簡(jiǎn)化備份和恢復(fù),單靠數(shù)據(jù)導(dǎo)入/導(dǎo)出就可完美復(fù)制這一功能。LOAD DATA INFILE命令給了數(shù)據(jù)導(dǎo)入很大的靈活

23、性。Select INTO命令實(shí)現(xiàn)了數(shù)據(jù)導(dǎo)出的相等功能。另外,既然MySQL不使用原始的分區(qū),所有的數(shù)據(jù)庫(kù)數(shù)據(jù)能用一個(gè)文件系統(tǒng)備份保存。數(shù)據(jù)庫(kù)活動(dòng)能被記載。與通常的數(shù)據(jù)庫(kù)日志不同(存儲(chǔ)記錄變化或在記錄映像之前/之后),MySQL記載實(shí)際的SQL語(yǔ)句。這允許數(shù)據(jù)庫(kù)被恢復(fù)到失敗前的那一點(diǎn),但是不允許提交(commit)和回卷(rollback)操作。8、連接性MySQL客戶(hù)庫(kù)是客戶(hù)/服務(wù)器結(jié)構(gòu)的C語(yǔ)言庫(kù),它意味著一個(gè)客戶(hù)能查詢(xún)駐留在另一臺(tái)機(jī)器的一個(gè)數(shù)據(jù)庫(kù)。然而MySQL真正的強(qiáng)項(xiàng)處于該庫(kù)中的語(yǔ)言“包裝器(wrapper)”,Perl、Pathon和PHP只是一部分。Apache的Web服務(wù)器也有許

24、多模塊例如目錄存取文件等允許各種各樣的Apache配置信息(例如目錄存取文件)使用MySQL,應(yīng)用程序接口簡(jiǎn)單、一致并且完整。2.2.2 數(shù)據(jù)庫(kù)引擎MyISAM強(qiáng)調(diào)了快速讀取操作,這是為什么MySQL受到了Web開(kāi)發(fā)如此青睞的主要原因:在Web開(kāi)發(fā)中所進(jìn)行的大量數(shù)據(jù)操作都是讀取操作。所以,大多數(shù)虛擬主機(jī)提供商和Internet平臺(tái)提供商(InternetPresenceProvider,IPP)只允許使用MyISAM格式。MyISAM存儲(chǔ)格式自版本3.23以來(lái)是MySQL中的缺省類(lèi)型,它有下列特點(diǎn): 如果操作系統(tǒng)自身允許更大的文件,那么文件比ISAM存儲(chǔ)方法的大。 數(shù)據(jù)以低字節(jié)優(yōu)先的機(jī)器獨(dú)立格

25、式存儲(chǔ)。這表示可將表從一種機(jī)器拷貝到另一種機(jī)器,即使它們的體系結(jié)構(gòu)不同也可以拷貝。 數(shù)值索引值占的存儲(chǔ)空間較少,因?yàn)樗鼈兪前锤咦止?jié)優(yōu)先存儲(chǔ)的。索引值在低位字節(jié)中變化很快,因此高位字節(jié)更容易比較。 AUTO_INCREMENT處理比ISAM的表更好。 減少了幾個(gè)索引限制。例如,可對(duì)含NULL值的列進(jìn)行索引,還可以對(duì)BLOB和TEXT類(lèi)型的列進(jìn)行索引。為了改善表的完整性檢查,每個(gè)表都具有一個(gè)標(biāo)志,在myisamchk對(duì)表進(jìn)行過(guò)檢查后,設(shè)置該標(biāo)志。可利用myisamchk-fast跳過(guò)對(duì)自前次檢查以來(lái)尚未被修改過(guò)表的檢查,這樣使此管理任務(wù)更快。表中還有一個(gè)指示表是否正常關(guān)閉的標(biāo)志。如果服務(wù)器關(guān)閉不正

26、常,或機(jī)器崩潰,此標(biāo)志可用來(lái)檢測(cè)出服務(wù)器起動(dòng)時(shí)需要檢查的表。2.3 Apache簡(jiǎn)介Apache是世界使用排名第一的Web服務(wù)器,它可以運(yùn)行在幾乎所有廣泛使用的計(jì)算機(jī)平臺(tái)上。Apache源于NCSA d服務(wù)器。經(jīng)過(guò)多次修改,他成為了世界上最流行的Web服務(wù)器軟件之一。Apache取自“a patchy server”的讀音,意思是充滿(mǎn)補(bǔ)丁的服務(wù)器,因?yàn)樗亲杂绍浖?,所以不斷有人?lái)為它開(kāi)發(fā)新的功能、新的特性、修改原來(lái)的缺陷。Apache的特點(diǎn)是簡(jiǎn)單、速度快、性能穩(wěn)定,并可做代理服務(wù)器來(lái)使用。本來(lái)它只用于小型或試驗(yàn)Internet網(wǎng)絡(luò),后來(lái)逐步擴(kuò)充到各種Unix系統(tǒng)中,尤其對(duì)Linux的支持相當(dāng)完

27、美。Apache有多種產(chǎn)品,可以支持SSL技術(shù),支持多個(gè)虛擬主機(jī)。Apache是以進(jìn)程為基礎(chǔ)的結(jié)構(gòu),進(jìn)程要比線程消耗更多的系統(tǒng)開(kāi)支,不太適合于多處理器環(huán)境,因此,在一個(gè)Apache Web站點(diǎn)擴(kuò)容時(shí),通常是增加服務(wù)器或擴(kuò)充群集節(jié)點(diǎn)而不是增加處理器。到目前為止Apache仍然是世界上用的最多的Web服務(wù)器,市場(chǎng)占有率達(dá)60%左右。世界上很多著名的如Amazon.、Yahoo!、W3 Consortium、Financial Times等都是Apache的產(chǎn)物,它的成功之處主要在于它的源代碼開(kāi)放、有一支開(kāi)放的開(kāi)發(fā)隊(duì)伍、支持跨平臺(tái)的應(yīng)用(可以運(yùn)行在幾乎所有的Unix、Windows、Linux系統(tǒng)平

28、臺(tái)上)以與它的可移植性等方面。 Apache服務(wù)器擁有以下特性: 支持最新的 /1.1通信協(xié)議; 擁有簡(jiǎn)單而強(qiáng)有力的基于文件的配置過(guò)程; 支持通用網(wǎng)關(guān)接口; 支持基于IP和基于域名的虛擬主機(jī); 支持多種方式的 認(rèn)證; 集成Perl處理模塊; 集成代理服務(wù)器模塊; 支持實(shí)時(shí)監(jiān)視服務(wù)器狀態(tài)和定制服務(wù)器日志; 支持服務(wù)器端包含指令(SSI); 支持安全Socket層(SSL); 提供用戶(hù)會(huì)話(huà)過(guò)程的跟蹤; 支持Fast CGI; 通過(guò)第三方模塊可以支持Java Servlets。3 系統(tǒng)分析與數(shù)據(jù)庫(kù)設(shè)計(jì)3.1 系統(tǒng)功能需求分析根據(jù)一般電子商務(wù)系統(tǒng)功能分析,將系統(tǒng)分為管理員、用戶(hù)兩大模塊。系統(tǒng)管理員模塊

29、包括:系統(tǒng)配置管理、會(huì)員信息管理、新聞管理、物品信息管理、管理員管理、登錄日志管理。用戶(hù)模塊包括:安全登錄、找回密碼、查詢(xún)信息、發(fā)布信息、會(huì)員注冊(cè)、物品類(lèi)別、物品信息管理、會(huì)員信息修改。剛進(jìn)入的非會(huì)員能夠在此瀏覽和搜索信息,不僅能瀏覽二手信息還能瀏覽到熱門(mén)信息。經(jīng)過(guò)注冊(cè)成為會(huì)員便能發(fā)布信息。此系統(tǒng)還考慮到用戶(hù)利用窮舉法破解密碼,專(zhuān)門(mén)設(shè)置了用戶(hù)和管理員登錄日志,以便與時(shí)了解和防。3.2 系統(tǒng)模塊關(guān)系圖根據(jù)系統(tǒng)功能需求建立的模塊關(guān)系圖如下圖:圖3 系統(tǒng)模塊關(guān)系圖3.3 系統(tǒng)E-R圖本實(shí)例根據(jù)上面的模塊關(guān)系圖規(guī)劃出的實(shí)體有管理員、二手信息機(jī)與新聞、用戶(hù)、會(huì)員實(shí)體、各實(shí)體的E-R圖與其關(guān)系描述如下(帶

30、下劃線的為主鍵):圖4會(huì)員實(shí)體E-R圖圖5 二手信息實(shí)體E-R圖圖6 新聞實(shí)體E-R圖圖7管理員實(shí)體E-R圖超級(jí)管理遠(yuǎn)實(shí)體E-R圖同管理員實(shí)體E-R圖類(lèi)似,無(wú)權(quán)限屬性(省略)。各實(shí)體的關(guān)系E-R圖描述如下:圖8 實(shí)體和實(shí)體之間的關(guān)系E-R圖3.4 數(shù)據(jù)庫(kù)設(shè)計(jì)3.4.1 數(shù)據(jù)庫(kù)表之間的關(guān)系表1 數(shù)據(jù)庫(kù)表序號(hào)數(shù)據(jù)庫(kù)表數(shù)據(jù)庫(kù)存儲(chǔ)容1ershou_adminstage存儲(chǔ)管理員和會(huì)員的登錄日志2ershou_class存儲(chǔ)二手信息的類(lèi)別信息3ershou_pinglun存儲(chǔ)會(huì)員對(duì)物品信息的評(píng)論4ershou_news存儲(chǔ)新聞5ershou_user存儲(chǔ)會(huì)員的相關(guān)信息6ershou_wupin存儲(chǔ)以發(fā)布

31、的物品信息7ershou_manager存儲(chǔ)管理員的信息數(shù)據(jù)表關(guān)系圖如下:圖9 數(shù)據(jù)表關(guān)系圖3.4.2 數(shù)據(jù)表結(jié)構(gòu)的詳細(xì)設(shè)計(jì)表2 用戶(hù)資料表(ershou_user)序號(hào)字段名字段類(lèi)別說(shuō)明備注1user_namevarchar(20)用戶(hù)的賬號(hào)名稱(chēng)主鍵2user _passvarchar(20)用戶(hù)的密碼3user _questionvarchar(50)找回密碼提問(wèn)4user _angservarchar(50)找回密碼答案5user _mphonevarchar(12)移動(dòng)6user _phonevarchar(12)座機(jī)7user _schoolvarchar(60)所在學(xué)校8user

32、_emailVarchar(80)電子9user _datedatetime注冊(cè)時(shí)間10user _ Int號(hào)11user _ktInt標(biāo)志默認(rèn)為0表3 類(lèi)別信息表(ershou_class) 序號(hào)字段名字段類(lèi)別說(shuō)明備注1class_namevarchar(20)類(lèi)別名稱(chēng)主鍵2class_orderint大類(lèi)順序標(biāo)記小類(lèi)為默認(rèn)的0默認(rèn)值為03class_cidint小類(lèi)順序標(biāo)記大類(lèi)為默認(rèn)的0默認(rèn)值為0表4 用戶(hù)與管理員登錄日志信息表(ershou_ adminstage)序號(hào)字段名字段類(lèi)別說(shuō)明備注1manager_namevarchar(20)登錄名主鍵2manager_actionvarch

33、ar(50)登錄動(dòng)作3manager_ipvarchar(30)登錄ip4manager_timedatetime登錄時(shí)間5manager_stateint登錄狀態(tài)默認(rèn)為06manager_ifInt判斷為管理員還是用戶(hù)默認(rèn)為0表5 評(píng)論表(ershou_pinglun)序號(hào)字段名字段類(lèi)別說(shuō)明備注1pidintId主鍵2pinglun_widint物品id默認(rèn)值為03user_namevarchar(20)會(huì)員名4pinglun_nrvarchar(200)容5Pinglun_timedatetime時(shí)間表6 新聞表(ershou_news)序號(hào)字段名字段類(lèi)別說(shuō)明備注1nidtinyint(6

34、)設(shè)置新聞編號(hào)2news_titlevarchar(100)設(shè)置新聞標(biāo)題3news_classvarchar(20)設(shè)置新聞?lì)悇e4news_lyvarchar(30)新聞來(lái)源5news_jishuint瀏覽次數(shù)默認(rèn)值為06news_nrtext新聞容7news_timedatetime設(shè)置添加時(shí)間8news_guoqiChar(2)設(shè)置是否過(guò)期默認(rèn)值為19news_namevarchar(20)發(fā)表新聞的管理員主鍵表7 物品信息表(ershou_wupin)序號(hào)字段名字段類(lèi)別說(shuō)明備注1widint物品id主鍵2bclass_namevarchar(20)所屬大類(lèi)別3class_namevarc

35、har(20)所屬小類(lèi)別4wuping_namevarchar(40)物品名稱(chēng)5wuping_jishuint瀏覽次數(shù)默認(rèn)設(shè)置為06wuping_nrtext物品介紹7user_namevarchar(20)用戶(hù)8wuping_timedatetime發(fā)表時(shí)間9wuping_guoqiint交易狀態(tài)默認(rèn)設(shè)置為1表8:管理員信息表(ershou_manager)序號(hào)字段名字段類(lèi)別說(shuō)明備注2manager_namevarchar(20)管理員名稱(chēng)主鍵3manager_passvarchar(20)管理員密碼4manager_supint標(biāo)志為管理員權(quán)限默認(rèn)值為03.5 系統(tǒng)安全MD5是在Web應(yīng)用

36、程序中最常用的密碼加密算法。由于MD5是不可逆的,因而經(jīng)過(guò)MD5計(jì)算得到后的密文,不能通過(guò)逆向算法得到原文。所謂MD5,即Message-Digest Algorithm 5(信息-摘要算法),它由MD2、MD3、MD4發(fā)展而來(lái)的一種單向函數(shù)算法(也就是HASH算法),它是國(guó)際著名的公鑰加密算法標(biāo)準(zhǔn)RSA的第一設(shè)計(jì)者R.Rivest于上個(gè)世紀(jì)90年代初開(kāi)發(fā)出來(lái)的。MD5的最大作用在于,將不同格式的大容量文件信息在用數(shù)字簽名軟件來(lái)簽署私人密鑰前壓縮成一種的格式,關(guān)鍵之處在于這種壓縮是不可逆的。在Web應(yīng)用程序中使用MD5加密文本密碼的初衷,就是為了防止數(shù)據(jù)庫(kù)中保存的密碼不幸泄露后被直接獲得。但攻

37、擊者不但擁有數(shù)據(jù)量巨大的密碼字典,而且建立了很多MD5原文/密文對(duì)照數(shù)據(jù)庫(kù),能快速地找到常用密碼的MD5密文,是破譯MD5密文的高效途徑。然而,MD5密文數(shù)據(jù)庫(kù)所使用的是最常規(guī)的MD5加密算法:原文-MD5-密文。因此,使用字符串次序干涉MD5算法,使現(xiàn)成的MD5密文數(shù)據(jù)庫(kù)無(wú)所作為。此函數(shù)是把MD5運(yùn)算后的密文字符串的順序調(diào)轉(zhuǎn)后,再進(jìn)行一次MD5運(yùn)算。函數(shù)代碼如下:function md5_5($psw) /得到數(shù)據(jù)的密文 $ psw = md5($psw); /再把密文字符串的字符順序調(diào)轉(zhuǎn) $ psw = strrev($psw); /最后再進(jìn)行一次MD5運(yùn)算并返回 return md5($

38、psw); 4 系統(tǒng)的實(shí)現(xiàn)4.1 系統(tǒng)的主要功能歸納起來(lái),系統(tǒng)的功能大約有以下幾點(diǎn):用戶(hù)注冊(cè),信息查詢(xún),發(fā)布信息,找回密碼等。4.1.1 注冊(cè)為了實(shí)現(xiàn)不同地域的學(xué)生通過(guò)網(wǎng)絡(luò)、不擇時(shí)間地自主填寫(xiě)并上傳自己的基本檔案(不合要求的檔案可以由管理員與時(shí)清除),需要錄入基本的個(gè)人信息。1.步驟:(1)開(kāi)始注冊(cè);(2)填寫(xiě)個(gè)人信息;(3)提交(如失敗返回填寫(xiě)頁(yè)面重填寫(xiě);如果重名錯(cuò)誤,顯示提示信息);(4)進(jìn)入登錄界面;(3)登錄成功,進(jìn)入主界面。2.主要驗(yàn)證代碼:/值存在則繼續(xù)執(zhí)行if($_GETac=in)and(isset($_POSTuser_name) /判斷驗(yàn)證碼是否正確 if($_POSTac

39、_uthnum=$_SESSIONuser_authnum) $user_name=$_POSTuser_name;$user_name=trim($user_name);$user_pass1=$_POSTuser_pass; $user_pass1=trim($user_pass1); $user_pass=md5_5($user_pass1);/密碼進(jìn)行MD5加密 $user_question=$_POSTuser_question; $user_angser1=$_POSTuser_angser; $user_angser1=trim($user_angser1); $user_ang

40、ser=md5_5($user_angser1);/密碼進(jìn)行MD5加密 $user_school=$_POSTuser_school; $user_phone=$_POSTuser_phone; $user_mphone=$_POSTuser_mphone; $user_ =$_POSTuser_ ; $user_email=$_POSTuser_email; $user_kt=1;/查詢(xún)是否存在當(dāng)前注冊(cè)用戶(hù)名 $query=selectcount(*)count from ershou_user where user_name=$user_name; $result=mysql_query(

41、$query); while($info=mysql_fetch_array($result) $count=$infocount; if($count=0)/不存在才執(zhí)行注冊(cè) $sqladd = INSERT INTO ershou_user SET user_name=$user_name, user_pass=$user_pass, user_question=$user_question, user_angser=$user_angser, user_school=$user_school, user_phone=$user_phone, user_mphone=$user_mphon

42、e, user_ =$user_ , user_email=$user_email, user_kt=$user_kt, user_date=NOW(); else/存在一樣用戶(hù)名則重新填寫(xiě) echo  該會(huì)員已存在 返回重新填寫(xiě) ; 3.主要窗口如下圖:圖10 用戶(hù)注冊(cè)窗口4.1.2 搜索信息為了實(shí)現(xiàn)快速瀏覽信息,各用戶(hù)可以根據(jù)所須信息類(lèi)別并填寫(xiě)查詢(xún)關(guān)鍵字,很快的找出需要的信息。1.步驟:(1)填寫(xiě)信息類(lèi)別;(2)修改或刪除信息類(lèi)別;(3)瀏覽信息類(lèi)別。2.主要代碼:$sql =select count(*)count from ershou_wupin where bclass_

43、name=$bclass_name and wupin_name like %$searchcontent%; $result=mysql_query($sql) or die(mysql_errno().: .mysql_error().n); $rs=mysql_fetch_object($result); $recountCount=$rs-count; $show=20; $totalPage=ceil($recountCount/$show); $page = (isset($_GETpage) & $_GETpage=0)? $_GETpage: 0; $isLast = ($pa

44、ge=($totalPage-1)? true: false; $hasNoPre = ($page=0)? true: false; $hasNoNext = ($page=$totalPage-1)? true: false; $isFirst = ($page=0)? true:false; $start = $page*$show; if($recountCount=0) /搜索結(jié)果不為0則顯示未找到echo 未找到!; else $sqlwupin=select * from ershou_wupin where bclass_name=$bclass_name and wupin_

45、name like %$searchcontent% ORDER BY wupin_time desc limit $start,20; $resultwupin = mysql_query($sqlwupin) or die(mysql_errno().: .mysql_error().n); while($rswupin=mysql_fetch_object($resultwupin) $wupin_name=$rswupin-wupin_name; $wupin_time=$rswupin-wupin_time; $date_format=date(m/d,strtotime($wupi

46、n_time); $wid=$rswupin-wid; echo   .$rswupin-class_name. .TrimChinese($wupin_name,80). (.$date_format.);3.主要窗口如下圖:圖11 搜索窗口4.1.3 發(fā)布信息實(shí)現(xiàn)用戶(hù)發(fā)布二手信息,建立一個(gè)簡(jiǎn)單易操作的信息發(fā)布平臺(tái)。1.步驟:(1)輸入標(biāo)題;(2)選擇類(lèi)別;(3)輸入容;(4)選擇有效標(biāo)志。2.主要代碼:?/處理容提交if($_GETac=in)&(isset($_POSTwupin_name) $wupin_name=$_POSTwupin_name; $class_n

47、ame=$_POSTclass_name; $wupin_nr=$_POSTwupin_nr; $wupin_img=$_POSTwupin_img; $user_name=$_POSTuser_name;$wupin_time=$_POSTwupin_time; $wupin_guoqi=$_POSTwupin_guoqi;/查詢(xún)所屬大類(lèi)的id號(hào)$sqlbclass=select * from ershou_class where class_name=$class_name; $resultbclass=mysql_query($sqlbclass); while($infobclass=

48、mysql_fetch_array($resultbclass) $class_cid=$infobclassclass_cid;/根據(jù)大類(lèi)的id號(hào)查詢(xún)出大類(lèi)名稱(chēng) $sqlbclass1=select * from ershou_class where cid=$class_cid; $resultbclass1=mysql_query($sqlbclass1); while($infobclass1=mysql_fetch_array($resultbclass1) $bclass_name=$infobclass1class_name;$sqlup = INSERT INTO ershou

49、_wupin SET bclass_name=$bclass_name,wupin_name=$wupin_name,class_name=$class_name,wupin_nr=$wupin_nr,user_name=$user_name,wupin_guoqi=$wupin_guoqi,wupin_time=NOW(); if(mysql_query($sqlup) msg(增加成功!,#ff0000);echo ; else echoError: .mysql_error().; ?3.窗口如下圖:圖12 發(fā)布信息窗口4.1.4 數(shù)據(jù)庫(kù)連接代碼4.2 創(chuàng)建界面1首頁(yè):首頁(yè)是用戶(hù)進(jìn)入系統(tǒng)的第一個(gè)界面,因此,簡(jiǎn)潔、友好、清晰醒目是設(shè)計(jì)時(shí)要考慮的風(fēng)格。樣式如圖所示:圖14 系統(tǒng)首頁(yè)2管理員管理主界面:管理員輸入正確地用戶(hù)名和口令后,就可進(jìn)入管理主界面。管理主界面是管理員維護(hù)使用的界面,因此要求簡(jiǎn)單

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論