版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 本科畢業(yè)設計(論文)</p><p><b> (20 屆)</b></p><p> 論文題目 基于php的寧波市旅游網(wǎng)站的設計與實現(xiàn)</p><p> 所在學院 </p><p> 專業(yè)班級 計算機科學與技術
2、 </p><p> 學生姓名 學號 </p><p> 指導教師 職稱 </p><p> 完成日期 年 月 日</p><p><b> 誠 信 聲 明</b></p>
3、<p> 我聲明,所呈交的畢業(yè)設計作品和論文是本人經(jīng)過近四年的基礎課程與專業(yè)課程學習的基礎上,在指導老師的指導下,經(jīng)過幾個月集中的畢業(yè)設計學習、實踐和努力工作所取得的成果。據(jù)本人查證,除了文中特別加以標注和致謝的地方外,設計作品和論文中不包含其他人已經(jīng)發(fā)表或撰寫過的研究成果。我承諾,設計作品和論文中的所有內容均真實、可信。</p><p> 學生簽名: </p>
4、<p> 簽名日期: 年 月 日</p><p><b> 論文目錄</b></p><p><b> 摘 要5</b></p><p> Abstract6</p><p><b> 1 引言7</b></p><p
5、> 2 開發(fā)語言與工具的選擇7</p><p> 2.1 PHP發(fā)展史7</p><p> 2.2PHP語言特點8</p><p> 2.3 PHP語言發(fā)展趨勢9</p><p> 2.4開發(fā)工具的選擇與介紹9</p><p> 2.5數(shù)據(jù)庫的選擇10</p><p
6、> 3 相關術語及解釋11</p><p> 3.1 相關術語及解釋11</p><p> 4 網(wǎng)站詳細設計12</p><p> 4.1 數(shù)據(jù)庫設計12</p><p> 4.1.1 數(shù)據(jù)庫的搭建12</p><p> 4.1.2 數(shù)據(jù)庫連接13</p><p>
7、 4.2 頁面設計14</p><p> 4.2.1 網(wǎng)站首頁設計14</p><p> 4.2.2 用戶模塊15</p><p> 4.2.3 上傳模塊20</p><p> 4.2.4 游客統(tǒng)計模塊21</p><p> 4.2.5 投票模塊21</p><p>
8、4.2.6 留言模塊25</p><p> 5 結果分析與討論26</p><p> 5.1 網(wǎng)站運行以及維護27</p><p> 5.2 不足之處與設想27</p><p><b> 6 總結28</b></p><p><b> 致 謝29</b>
9、</p><p><b> [參考文獻]30</b></p><p> 附錄1:測試報告31</p><p> 附錄2:作品說明書34</p><p><b> 摘 要</b></p><p> 本網(wǎng)站的設計是在Windows操作系統(tǒng)下實現(xiàn)的,使用Apache
10、作為服務器,MySQL數(shù)據(jù)庫,和php語言。WAMP組合可以實現(xiàn)大部分中小型網(wǎng)站和小部分大型網(wǎng)站的設計與實現(xiàn),并且是免費的。php作為一種服務器端語言,擁有開放源代碼,基于服務器端,大多數(shù)數(shù)據(jù)庫支持,跨平臺,易于學習等優(yōu)點,由于現(xiàn)在開源系統(tǒng)開源免費使用,配置簡單,穩(wěn)定性好 ,性能優(yōu)良,以上這些優(yōu)點讓開源系統(tǒng)在低端市場中占據(jù)了很大的份額,而MySQL數(shù)據(jù)庫也是數(shù)據(jù)庫系統(tǒng)中的一大杰出代表,并且是開源你的,與php開源說是黃金搭檔。我這次設計
11、的寧波市旅游網(wǎng)站的主要功能有用戶注冊于登錄,信息瀏覽,圖片與文檔上傳,投票系統(tǒng),留言本等功能,即為廣大游客提供了寧波市的旅游文化介紹與景點游玩攻略,也實現(xiàn)了與用戶的簡單交互。</p><p> 關鍵詞:PHP,MySQL,寧波市旅游 </p><p><b> Abstract</b></p><p> This website is d
12、esigned in the Windows operating system implementation, use as a server Apache, MySQL database, and PHP language. WAMP combination can realize the most small and medium website and a small number of large-scale web site
13、design and implementation, and is free of charge. PHP as a server language, with open source, based on the server, most database support, cross platform, and is easy to learn and other advantages, because now open source
14、 system free use open source, simple config</p><p> Keywords: PHP, MySQL, ningbo tourism </p><p><b> 1 引言</b></p><p> 計算機與網(wǎng)絡技術的高速發(fā)展,特別是面向對象技術的出現(xiàn),使得php網(wǎng)站的開發(fā)得到了迅速普及。<
15、;/p><p> 已跨入21世紀的今天,人類使用和學習信息的方式以及信息的包裝方式正在進行著不可阻擋的革命,這次革命將比印刷術的出現(xiàn)所產(chǎn)生的影響以及對社會發(fā)展的推動遠為復雜而巨大。目前,我國上網(wǎng)的人口已近一個億,成立世界上網(wǎng)民最多的國家,許多人在需要查詢信息,首先想到的就是上網(wǎng)。網(wǎng)站的迷人之處在于綜合使用文本、圖象、聲音、動畫和視頻的信息和內容,具有豐富的多媒體表現(xiàn)與互動特點,無可置疑, 網(wǎng)站已成為最吸引人的也最有
16、效的信息傳遞手段和方式。隨著網(wǎng)絡技術的發(fā)展,各類網(wǎng)站紛紛出現(xiàn)。下載類網(wǎng)站也成為了人們獲取資源的一種不可缺少的途徑。作為綜合下載網(wǎng)站它的輻射范圍之廣,收錄內容之權和操作方法之便捷為廣大網(wǎng)民的生活工作以及學習提供了諸多方便,已經(jīng)成為不少網(wǎng)民獲得所需資源的首選之地。 </p><p> 2 開發(fā)語言與工具的選擇</p><p> 2.1 PHP發(fā)展史</p><p>
17、 PHP和平繼承自一個老的工程,名叫 PHP/FI。PHP/FI 在 1995 年由 Rasmus Lerdorf 創(chuàng)建,最初只是一套簡單的 Perl 腳本,用來跟蹤訪問他主頁的人們的信息。它給這一套腳本取名為“Personal Home Page Tools”。隨著更多功能需求的增加,Rasmus 寫了一個更大的 C 語言的實現(xiàn),它可以訪問數(shù)據(jù)庫,可以讓用戶開發(fā)簡單的動態(tài) Web 程序。Rasmus 發(fā)布了 PHP/FI 的源代碼,
18、以便每個人都可以使用它,同時大家也可以修正它的 Bug 并且改進它的源代碼。</p><p> PHP/FI,一個專為個人主頁/表單提供解釋程序的程序,已經(jīng)包含了今天 PHP 的一些基本功能。它有著 Perl 樣式的變量,自動解釋表單變量,并可以嵌入 HTML。語法本身與 Perl 很相似,但是它很有限,很簡單,還稍微有些不協(xié)調。</p><p> 到1997年,PHP/FI 2.0,
19、也就是它的 C 語言實現(xiàn)的第二版在全世界已經(jīng)有幾千個用戶(估計)和大約 50,000 個域名安裝,大約是 Internet 所有域名的 1%。但是那時只有幾個人在為該工程撰寫少量當代碼,它仍然只是一個人的工程。</p><p> PHP/FI 2.0 在經(jīng)歷了數(shù)個 beta 版本的發(fā)布后于 1997 年 11 月發(fā)布了官方正式版本。不久,PHP 3.0 的第一個 alpha 版本的發(fā)布,PHP 從此走向了成功。
20、</p><p> PHP 3.0 是類似于當今 PHP 語法結構的第一個版本。Andi Gutmans 和 Zeev Suraski 在為一所大學的項目中開發(fā)電子商務程序時發(fā)現(xiàn) PHP/FI 2.0 功能明顯不足,于是他們重寫了代碼。這就是 PHP 3.0。經(jīng)過Andi,Rasmus 和 Zeev 一系列的努力,考慮到 PHP/FI 已存在的用戶群,他們決定聯(lián)合發(fā)布 PHP 3.0 作為 PHP/FI 2.0
21、 的官方后繼版本。而 PHP/FI 2.0 的進一步開發(fā)幾乎終止了。</p><p> PHP 3.0 的一個最強大的功能是它的可擴展性。除了給最終用戶提供數(shù)據(jù)庫、協(xié)議和 API 的基礎結構,它的可擴展性還吸引了大量的開發(fā)人員加入并提交新的模塊。后來證實,這是 PHP 3.0 取得巨大成功的關鍵。PHP 3.0 中的其它關鍵功能包括面向對象的支持和更強大和協(xié)調的語法結構。</p><p>
22、; 這個全新的語言伴隨著一個新的名稱發(fā)布。它從 PHP/FI 2.0 的名稱中移去了暗含“本語言只限于個人使用”的部分。它被命名為簡單的縮寫“PHP”。這是一種遞歸的縮寫,它的全稱是——PHP: Hypertext Preprocessor。</p><p> 1998 年末,PHP 的安裝人數(shù)幾近 10,000,有大約 100,000 個網(wǎng)站報告他們使用了 PHP。在 PHP 3.0 的頂峰,Interne
23、t 上 10% 的 Web 服務器上都安裝了它。</p><p> 約九個月的公開測試后,官方于1998年6月正式發(fā)布 PHP 3.0。</p><p> 1998 年的冬天,PHP 3.0 官方發(fā)布不久,Andi Gutmans 和 Zeev Suraski 開始重新編寫 PHP 代碼。設計目標是增強復雜程序運行時的性能和 PHP 自身代碼的模塊性。PHP 3.0 的新功能和廣泛的第
24、三方數(shù)據(jù)庫、API的支持使得這樣程序的編寫成為可能,但是 PHP 3.0 沒有高效處理如此復雜程序的能力。</p><p> 新的被稱為“Zend Engine”(這是 Zeev 和 Andi 的縮寫)的引擎,成功的實現(xiàn)了設計目標,并在 1999 年中期首次引入 PHP?;谠撘娌⒔Y合了更多新功能的 PHP 4.0,在 PHP 3.0 發(fā)布兩年后,于2000年5月發(fā)布了官方正式版本。除了更高的性能以外,PHP
25、 4.0 還包含了其它一些關鍵功能,比如:支持更多的 Web 服務器;HTTP Sessions 支持;輸出緩存(output buffering);更安全的處理用戶輸入的方法;一些新的語言結構。</p><p> PHP 4 是當前 PHP 的最新版本。修改和增強 Zend Engine 以使 PHP 5.0 整合新功能的工作已經(jīng)開始。</p><p> 今天,已經(jīng)有 10,000
26、名開發(fā)人員(估計)和幾百萬網(wǎng)站報告已安裝了 PHP,占整個 Internet 域名的 20%。</p><p> PHP 的開發(fā)小組有很多優(yōu)秀的開發(fā)人員,同時還有大量的優(yōu)秀人才在進行 PHP 相關工程的開發(fā)工作,如 PEAR 和 PHP 文檔的工程。</p><p> PHP 的未來主要受其核心,Zend Engine 控制。PHP 5 將包含新一代的 Zend Engine 2.0。
27、請訪問其網(wǎng)站以獲取更多關于該引擎的信息。[1]</p><p> 2.2 PHP語言特點</p><p><b> 1)開放源代碼</b></p><p> PHP屬于自由軟件,是完全免費的,用戶可以從PHP官網(wǎng)自由下載,而且可以不受限制的獲取源碼。</p><p><b> 2)基于服務端</b
28、></p><p> PHP是運行在服務器上的,充分利用了服務器的性能,它的速度只與服務器的速度有關,因此他的運行速度可以非???。</p><p><b> 3)數(shù)據(jù)庫支持</b></p><p> PHP能夠支持目前絕大多數(shù)的數(shù)據(jù)庫,如DB2、dBase、Msql、Microsoft SQL Server等許多數(shù)據(jù)庫。</p
29、><p><b> 4)跨平臺</b></p><p> 即PHP可以運行在目前所有主流的操作系統(tǒng)上,包括Linux、UNIX的各種變種、Microsoft Windows、Mac OS X、RISC OS等。</p><p><b> 5)易于學習</b></p><p> PHP語法接近C、
30、Java和Perl,學習起來非常簡單,而且擁有很多學習資料。PHP還提供數(shù)量巨大的系統(tǒng)函數(shù)集,用戶只要調用一個函數(shù)就可以完成很復雜的功能。</p><p><b> 6)網(wǎng)絡應用</b></p><p> PHP還提供強大的網(wǎng)絡應用功能,支持諸如LDAP、IMAP、SNMP、NNTP、POP3、HTTP、COM等協(xié)議服務。</p><p>
31、<b> 7)安全性</b></p><p> 由于PHP本身的代碼開放,所以它的代碼由許多工程師進行了檢測,同時它與Apache編譯在一起的方式也讓它具有靈活的安全設定.</p><p> 因為PHP語言具有這些特點,并且易于學習,所以我將使用PHP語言來開發(fā)寧波市旅游文化網(wǎng)站。[2]</p><p> 2.3 PHP語言發(fā)展趨勢&l
32、t;/p><p> PHP目前在開發(fā)語言排行榜排名第五位,僅次于Java、C、C++和Visual Basic。同時PHP是世界上使用率最高的網(wǎng)頁開發(fā)語言,據(jù)法國PHP/MySQL入口網(wǎng)站Nexen對全世界近1090萬臺網(wǎng)頁服務器調查(2007年6月),使用PHP的網(wǎng)站比例高達33.88%,遠超過第二位的ASP網(wǎng)站。</p><p> 從PHP3到目前PHP4再到PHP5,再到未來的PHP
33、6,PHP越來越完善,功能也更強大??缙脚_的使用特性將使它在Linux平臺上大放異彩。可以直接使用Java的類庫,可以直接調用Perl、C等語言編寫的程序,這增強了它的可擴展性。越來越成熟的MVC開發(fā)框架使它能適應企業(yè)級的大型應用開發(fā),再加上它天生強大的數(shù)據(jù)庫支持能力,PHP將會得到更多web開發(fā)者的青睞。[3]</p><p> 開發(fā)工具的選擇與介紹</p><p> 本網(wǎng)站的建設選
34、用的開發(fā)工具是Eclipse,Eclipse是一個開放源代碼的、基于Java的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務,用于通過插件構建開發(fā)環(huán)境。幸運的是,Eclipse 附帶了一個標準的插件集,包括 Java 開發(fā)工具(Java Development Kit,JDK)。</p><p> 雖然大多數(shù)用戶很樂于將 Eclipse 當作 Java 集成開發(fā)環(huán)境(IDE)來使用,但 Eclipse
35、的目標卻不僅限于此。Eclipse 還包括插件開發(fā)環(huán)境(Plug-in Development Environment,PDE),這個組件主要針對希望擴展 Eclipse 的軟件開發(fā)人員,因為它允許他們構建與 Eclipse 環(huán)境無縫集成的工具。由于 Eclipse 中的每樣東西都是插件,對于給 Eclipse 提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場所。 </p><
36、p> 這種平等和一致性并不僅限于 Java 開發(fā)工具。盡管 Eclipse 是使用 Java 語言開發(fā)的,但它的用途并不限于 Java 語言;例如,支持諸如 C/C++ 和 COBOL 等編程語言的插件已經(jīng)可用,或預計將會推出。Eclipse 框架還可用來作為與軟件開發(fā)無關的其他應用程序類型的基礎,比如內容管理系統(tǒng)。 </p><p> 基于 Eclipse 的應用程序的一個突出例子是 IBM&
37、reg; Rational® Software Architect,它構成了 IBM Java 開發(fā)工具系列的基礎。</p><p> 早在幾年前,Eclipse也推出了適合PHP的開發(fā)工具 Eclipse PDT。由于Eclipse是開源軟件,而且Eclipse PDT擁有語法突出顯示、代碼輔助、增量調試等特性,為PHP程序的開發(fā)提供了方便,所以Eclipse PDT一經(jīng)推出就得到了廣大PHP
38、使用者的歡迎。[4]</p><p><b> 數(shù)據(jù)庫的選擇</b></p><p> Php與mysql作為黃金搭檔一直是網(wǎng)站制作的主流選擇之一,本網(wǎng)站就是選用mysql作為網(wǎng)站數(shù)據(jù)庫進行數(shù)據(jù)存儲和交互的。[5]</p><p> MySQL是一個小型關系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。在2008年1月16號被Sun
39、公司收購。而2009年,SUN又被Oracle收購.對于Mysql的前途,沒有任何人抱樂觀的態(tài)度.目前MySQL被廣泛地應用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。[6]</p><p><b> MySQL的特性</b></p><p>
40、; 1)使用C和C++編寫,并使用了多種編譯器進行測試,保證源代碼的可移植性 </p><p> 2)支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多種操作系統(tǒng) </p><p> 3)為多種編程語言提供了API。這些編程語言包括C、C++、Python、Ja
41、va、Perl、PHP、Eiffel、Ruby和Tcl等。 </p><p> 4)支持多線程,充分利用CPU資源 </p><p> 5)優(yōu)化的SQL查詢算法,有效地提高查詢速度 </p><p> 6)既能夠作為一個單獨的應用程序應用在客戶端服務器網(wǎng)絡環(huán)境中,也能夠作為一個庫而嵌入到其他的軟件中提供多語言支持,常見的編碼如中文的GB 2312、
42、BIG5,日文的Shift_JIS等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名 </p><p> 7)提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫連接途徑 </p><p> 8)提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫操作的管理工具 </p><p> 9)可以處理擁有上千萬條記錄的大型數(shù)據(jù)庫[7]</p><p><b> 3
43、相關術語及解釋</b></p><p> 3.1 相關術語及解釋</p><p> 一、Internet</p><p> Internet,中文正式譯名為因特網(wǎng),又叫做國際互聯(lián)網(wǎng)。它是由那些使用公用語言互相通信的計算機連接而成的全球網(wǎng)絡。一旦你連接到它的任何一個節(jié)點上,就意味著您的計算機已經(jīng)連入Internet網(wǎng)上了。Internet目前的用戶已
44、經(jīng)遍及全球,有超過幾億人在使用Internet,并且它的用戶數(shù)還在以等比級數(shù)上升。[8]</p><p><b> 二、站點</b></p><p> 所謂站點,就是將網(wǎng)頁文件和素材文件,有條理地放置站點文件夾里,這些文件與文件夾就構成了網(wǎng)站的實質內容。站點文件夾里除了網(wǎng)頁文件還有素材文件,所謂素材就是網(wǎng)頁中所用到的圖像、聲音、視頻等,這些內容是以單獨文件的形式存
45、在。[9]</p><p><b> 三、超鏈接</b></p><p> 超鏈接在本質上屬于一個網(wǎng)頁的一部分,它是一種允許我們同其他網(wǎng)頁或站點之間進行連接的元素。各個網(wǎng)頁鏈接在一起后,才能真正構成一個網(wǎng)站。所謂的超鏈接是指從一個網(wǎng)頁指向一個目標的連接關系,這個目標可以是另一個網(wǎng)頁,也可以是相同網(wǎng)頁上的不同位置,還可以是一個圖片,一個電子郵件地址,一個文件,甚至是
46、一個應用程序。而在一個網(wǎng)頁中用來超鏈接的對象,可以是一段文本或者是一個圖片。當瀏覽者單擊已經(jīng)鏈接的文字或圖片后,鏈接目標將顯示在瀏覽器上,并且根據(jù)目標的類型來打開或運行。[10]</p><p><b> 四、IP地址</b></p><p> 為了使互聯(lián)網(wǎng)上的電腦主機在通信時能夠相互識別,每臺主機都分配一個能表示其位置的IP(Internet Protocol)
47、地址,這如同公用電話網(wǎng)中電話的號碼一樣。IP地址是由專門的互聯(lián)網(wǎng)機構來分配。IP地址具有惟一性,是由32位二進制數(shù)組成,分為四組,每組8位,每組之間用小數(shù)點分隔,在實際之中常轉換成十進制數(shù)表示。[11]</p><p><b> 4 網(wǎng)站詳細設計</b></p><p><b> 4.1 數(shù)據(jù)庫設計</b></p><p&
48、gt; 4.1.1 數(shù)據(jù)庫的搭建</p><p> 本課題是寧波市旅游網(wǎng)站的設計與實現(xiàn),我為網(wǎng)站選用的數(shù)據(jù)庫是MySQL數(shù)據(jù)庫,原因在上面已經(jīng)纖細說明,現(xiàn)在來說下數(shù)據(jù)庫的搭建。為了實現(xiàn)用戶的注冊與登錄,必須創(chuàng)建一個數(shù)據(jù)表來存放注冊用戶的信息,然后在用戶登錄時,檢查登錄信息是否與數(shù)據(jù)表里的用戶信息一致,一致則登錄成功,否則登錄失敗?,F(xiàn)在先來完成網(wǎng)站數(shù)據(jù)庫的創(chuàng)建,使用以下代碼:</p><p&
49、gt; CREATE DATABASE IF NOT EXISTS xsphpdb;在DOS環(huán)境是使用該命令創(chuàng)建一個名為xsphpdb的庫;</p><p> 然后在該庫里創(chuàng)建一個用戶表user來存放用戶信息:CREATE TABLE xsphpdb(庫名) user(表明)</p><p> <uid int unsigned NOT NULL auto_increment,
50、uusername char(15) NOT NULLdefault ‘’,</p><p> password char(34) NOT NULL default ‘’,email varchar(40) NOT NULL default ‘’,</p><p> regdate int(10) unsigned NOT NULL default ‘0’,PRIMARY KEY (
51、uid)>;用該命令創(chuàng)建一個用戶表:</p><p> 表4-1 用戶數(shù)據(jù)表字段名解釋</p><p> 上圖為創(chuàng)建表的命令中的一些字段的解釋,下面為數(shù)據(jù)表的表信息:</p><p> 表4-2 用戶數(shù)據(jù)表結構信息</p><p> 4.1.2 數(shù)據(jù)庫連接</p><p>
52、在上面,已經(jīng)成功創(chuàng)建了本站相關數(shù)據(jù)庫,在這里,用php吧程序和數(shù)據(jù)庫連接起來,以后就可以連接到數(shù)據(jù)庫、在php中顯示數(shù)據(jù)庫中的數(shù)據(jù)以及更復雜的插入、修改、和刪除。</p><p> 一起看以下代碼,這就是php程序中常用的連接數(shù)據(jù)庫的代碼:</p><p><b> <?php </b></p><p> $host=’localh
53、ost’; //服務器的域名</p><p> $count=’root’; //登錄名</p><p> $pwd=’1234’; //密碼</p><p> $error=’mysql_error()’;</p><p> $database_name=’’; //選擇的數(shù)據(jù)庫名<
54、/p><p> mysql_connect($host,$count,$pwd) or die($error); //登錄數(shù)據(jù)庫</p><p> mysql_select_db($database_name); //連接數(shù)據(jù)庫</p><p><b> ?></b></p><p> 以上是在ph
55、p程序中進行數(shù)據(jù)庫連接的代碼,下面看一下本網(wǎng)設計的數(shù)據(jù)庫連接代碼:</p><p><b> <?php</b></p><p> $conn = mysql_connect("localhost","root","123asd");</p><p> if (!$conn
56、){</p><p> die("連接數(shù)據(jù)庫失敗:" . mysql_error());</p><p><b> }</b></p><p> mysql_select_db("xsphpdb", $conn);</p><p><b> //字符轉換,讀庫&l
57、t;/b></p><p> mysql_query("set character set 'gbk'");</p><p><b> //寫庫</b></p><p> mysql_query("set names 'gbk'");</p>&l
58、t;p><b> ?></b></p><p><b> <?php </b></p><p> if(!isset($_POST['submit'])){</p><p> exit('非法訪問!');</p><p><b>
59、 }</b></p><p> $username = $_POST['username'];</p><p> $password = $_POST['password'];</p><p> $email = $_POST['email'];</p><p><b&g
60、t; //注冊信息判斷</b></p><p> if(!preg_match('/^[\w\x80-\xff]{3,15}$/', $username)){</p><p> exit('錯誤:用戶名不符合規(guī)定。<a href="javascript:history.back(-1);">返回</a>&
61、#39;);</p><p><b> }</b></p><p> if(strlen($password) < 6){</p><p> exit('錯誤:密碼長度不符合規(guī)定。<a href="javascript:history.back(-1);">返回</a>')
62、;</p><p><b> }</b></p><p> if(!preg_match('/^[\w\-]+@[\w\-]+.[\w\-\.]+$/', $email)){</p><p> exit('錯誤:電子郵箱格式錯誤。<a href="javascript:history.back(-1
63、);">返回</a>');</p><p><b> }</b></p><p> //包含數(shù)據(jù)庫連接文件n</p><p> include('conn.php');</p><p> //檢測用戶名是否已經(jīng)存在</p><p> $
64、check_query = mysql_query("select uid from user where username='$username' limit 1");</p><p> if(mysql_fetch_array($check_query)){</p><p> echo '錯誤:用戶名 ',$username,
65、39; 已存在。<a href="javascript:history.back(-1);">返回</a>';</p><p><b> exit;</b></p><p><b> }</b></p><p><b> //寫入數(shù)據(jù)</b>&
66、lt;/p><p> $password = MD5($password);</p><p> $regdate = time();</p><p> $sql = "INSERT INTO user(username,password,email,regdate)VALUES('$username','$password'
67、;,'$email',</p><p> $regdate)";</p><p> if(mysql_query($sql,$conn)){</p><p> exit('用戶注冊成功!點擊此處 <a href="login.html">登錄</a>');</p>
68、<p><b> } else {</b></p><p> echo '抱歉!添加數(shù)據(jù)失?。?#39;,mysql_error(),'<br />';</p><p> echo '點擊此處 <a href="javascript:history.back(-1);">返
69、回</a> 重試';</p><p><b> }</b></p><p><b> ?></b></p><p><b> 4.2 頁面設計</b></p><p> 4.2.1 網(wǎng)站首頁設計</p><p> 首頁
70、是系統(tǒng)中功能最復雜的一個頁面,這里有通往其他頁面的所有鏈接,可以再這里上傳自己喜歡的照片和一些心得,可以在這里給自己最喜歡的一個景點投票,可以給管理員留言,可以登錄和注冊等等,首頁如下圖所示:</p><p> 圖4-1 網(wǎng)站首頁界面 </p><p> 4.2.2 用戶模塊</p><p> 用戶模塊包括用戶的注冊、登錄
71、與注銷,點擊首頁右上角的免費注冊就可以在本網(wǎng)站免費注冊一個賬號,下面是本站的注冊頁面:</p><p> 圖4-2 用戶注冊界面界面</p><p> 按要求填寫其中的相關信息,然后提交,進入登錄頁面:</p><p> 圖4-3 用戶注冊成功界面</p><p> 點擊登錄,如下圖所示:</p><p&
72、gt; 圖4-4 用戶登錄界面</p><p> 把剛申請的賬號輸入,就完成登錄操作了:</p><p> 圖4-5 用戶登錄成功界面</p><p> 在此,用戶可以選擇進入用戶中心和注銷本次登錄,進入用戶中心即進入本站。用戶模塊的源代碼是:</p><p> <legend>用戶注冊</legend
73、></p><p> <form name="RegForm" method="post" action="../user/reg.php" onSubmit="return InputCheck(this)"></p><p><b> <p></b>&
74、lt;/p><p> <label for="username" class="label">用戶名:</label></p><p> <input id="username" name="username" type="text" class="i
75、nput" /></p><p> <span>(必填,3-15字符長度,支持漢字、字母、數(shù)字及_)</span></p><p><b> <p/></b></p><p><b> <p></b></p><p> <
76、label for="password" class="label">密 碼:</label></p><p> <input id="password" name="password" type="password" class="input" /></p
77、><p> <span>(必填,不得少于6位)</span></p><p><b> <p/></b></p><p><b> <p></b></p><p> <label for="repass" class=&q
78、uot;label">重復密碼:</label></p><p> <input id="repass" name="repass" type="password" class="input" /></p><p><b> <p/></b
79、></p><p><b> <p></b></p><p> <label for="email" class="label">電子郵箱:</label></p><p> <input id="email" name="
80、;email" type="text" class="input" /></p><p> <span>(必填)</span></p><p><b> <p/></b></p><p><b> <p></b>&
81、lt;/p><p> <input type="submit" name="submit" value=" 提交注冊 " class="left" /></p><p><b> </p></b></p><p><b> &
82、lt;/form></b></p><p> <script language=JavaScript></p><p> function InputCheck(RegForm)</p><p><b> {</b></p><p> if (RegForm.username.val
83、ue == "")</p><p><b> {</b></p><p> alert("用戶名不可為空!");</p><p> RegForm.username.focus();</p><p> return (false);</p><p>
84、<b> }</b></p><p> if (RegForm.password.value == "")</p><p><b> {</b></p><p> alert("必須設定登錄密碼!");</p><p> RegForm.passwo
85、rd.focus();</p><p> return (false);</p><p><b> }</b></p><p> if (RegForm.repass.value != RegForm.password.value)</p><p><b> {</b></p>
86、<p> alert("兩次密碼不一致!");</p><p> RegForm.repass.focus();</p><p> return (false);</p><p><b> }</b></p><p> if (RegForm.email.value == &qu
87、ot;")</p><p><b> {</b></p><p> alert("電子郵箱不可為空!");</p><p> RegForm.email.focus();</p><p> return (false);</p><p><b>
88、}</b></p><p><b> }</b></p><p><b> </script></b></p><p> <style type="text/css"></p><p> html{font-size:12px;}<
89、;/p><p> fieldset{width:520px; margin: 0 auto;}</p><p> legend{font-weight:bold; font-size:14px;}</p><p> label{float:left; width:70px; margin-left:10px;}</p><p> .lef
90、t{margin-left:80px;}</p><p> .input{width:150px;}</p><p> span{color: #666666;}</p><p><b> </style></b></p><p><b> <?php</b></p&
91、gt;<p> $conn = mysql_connect("localhost","root","123asd");</p><p> if (!$conn){</p><p> die("連接數(shù)據(jù)庫失?。?quot; . mysql_error());</p><p>&l
92、t;b> }</b></p><p> mysql_select_db("xsphpdb", $conn);</p><p><b> //字符轉換,讀庫</b></p><p> mysql_query("set character set 'gbk'");&l
93、t;/p><p><b> //寫庫</b></p><p> mysql_query("set names 'gbk'");</p><p><b> ?></b></p><p><b> <?php </b></p
94、><p> if(!isset($_POST['submit'])){</p><p> exit('非法訪問!');</p><p><b> }</b></p><p> $username = $_POST['username'];</p><
95、p> $password = $_POST['password'];</p><p> $email = $_POST['email'];</p><p><b> //注冊信息判斷</b></p><p> if(!preg_match('/^[\w\x80-\xff]{3,15}$/
96、39;, $username)){</p><p> exit('錯誤:用戶名不符合規(guī)定。<a href="javascript:history.back(-1);">返回</a>');</p><p><b> }</b></p><p> if(strlen($passwor
97、d) < 6){</p><p> exit('錯誤:密碼長度不符合規(guī)定。<a href="javascript:history.back(-1);">返回</a>');</p><p><b> }</b></p><p> if(!preg_match('/^[
98、\w\-]+@[\w\-]+.[\w\-\.]+$/', $email)){</p><p> exit('錯誤:電子郵箱格式錯誤。<a href="javascript:history.back(-1);">返回</a>');</p><p><b> }</b></p><
99、p> //包含數(shù)據(jù)庫連接文件n</p><p> include('conn.php');</p><p> //檢測用戶名是否已經(jīng)存在</p><p> $check_query = mysql_query("select uid from user where username='$username' li
100、mit 1");</p><p> if(mysql_fetch_array($check_query)){</p><p> echo '錯誤:用戶名 ',$username,' 已存在。<a href="javascript:history.back(-1);">返回</a>';</p>
101、;<p><b> exit;</b></p><p><b> }</b></p><p><b> //寫入數(shù)據(jù)</b></p><p> $password = MD5($password);</p><p> $regdate = time();
102、</p><p> $sql = "INSERT INTO user(username,password,email,regdate)VALUES('$username','$password','$email',</p><p> $regdate)";</p><p> if(mysql_
103、query($sql,$conn)){</p><p> exit('用戶注冊成功!點擊此處 <a href="login.html">登錄</a>');</p><p><b> } else {</b></p><p> echo '抱歉!添加數(shù)據(jù)失?。?#39;,m
104、ysql_error(),'<br />';</p><p> echo '點擊此處 <a href="javascript:history.back(-1);">返回</a> 重試';</p><p><b> }</b></p><p><b&
105、gt; ?></b></p><p> <legend>用戶登錄</legend></p><p> <form name="LoginForm" method="post" action="login.php" onSubmit="return InputCheck
106、(this)"></p><p><b> <p></b></p><p> <label for="username" class="label">用戶名:</label></p><p> <input id="username
107、" name="username" type="text" class="input" /></p><p><b> <p/></b></p><p><b> <p></b></p><p> <label
108、for="password" class="label">密 碼:</label></p><p> <input id="password" name="password" type="password" class="input" /></p>
109、<p><b> <p/></b></p><p> <p><input type="submit" name="submit" value=" 確 定 " class="left" /></p></p><p><b
110、> </form></b></p><p> <?php //登錄</p><p> if(!isset($_POST['submit'])){</p><p> exit('非法訪問!');</p><p><b> }</b></p&
111、gt;<p> $username = htmlspecialchars($_POST['username']);</p><p> $password = MD5($_POST['password']);</p><p> //包含數(shù)據(jù)庫連接文件</p><p> include('conn.php
112、39;);</p><p> //檢測用戶名及密碼是否正確</p><p> $check_query = mysql_query("select uid from user where username='$username' and password='$password' limit 1");</p><p&
113、gt; if($result = mysql_fetch_array($check_query)){</p><p><b> //登錄成功</b></p><p> $_SESSION['username'] = $username;</p><p> $_SESSION['userid'] = $re
114、sult['uid'];</p><p> echo $username,' 歡迎你!進入 <a href="usershouye.php">用戶中心</a><br />';</p><p> echo '點擊此處 <a href="zhuxiao.php?action=lo
115、gout">注銷</a> 登錄!<br />';</p><p><b> exit;</b></p><p><b> } else {</b></p><p> exit('登錄失??!點擊此處 <a href="javascript:hist
116、ory.back(-1);">返回</a> 重試');</p><p><b> }</b></p><p><b> ?></b></p><p> 4.2.3 上傳模塊</p><p> 上傳模塊提供用戶通過WEB直接向服務器上傳文件的功能,用戶
117、可以在該模塊上傳自己喜歡的照片或一些攻略,如下圖所示:</p><p> 圖4-6 用戶上傳界面</p><p> 本模塊的詳細代碼設計是:</p><p><b> <?php </b></p><p> if(isset($_POST["up"]))</p>&l
118、t;p><b> {</b></p><p> if($_FILES['myfile']['type']=="image/gif"||$_FILES['myfile']['type']=="image/pjpeg"||$_FILES['myfile']['
119、type']=="image/png"||$_FILES['myfile']['type']=="application/msword"||$_FILES['myfile']['type']=="text/plain")</p><p><b> {</b>&
120、lt;/p><p> if($_FILES['myfile']['error']>0)</p><p> echo "<script>alert('上傳出錯!')</script>";</p><p><b> else </b></p&g
121、t;<p><b> {</b></p><p> $tmp_filename=$_FILES['myfile']['tmp_name'];</p><p> $filename=$_FILES['myfile']['name'];</p><p> $dir
122、="../上傳的文件/";</p><p> if(is_uploaded_file($tmp_filename)) //判斷是否為上傳文件</p><p><b> {</b></p><p> if(move_uploaded_file($tmp_filename,"$dir.$filename&q
123、uot;))</p><p><b> {</b></p><p> echo "<script>alert('文件上傳成功!')</script>";</p><p> echo "<center><font size=6 color=blue>
124、;您上傳的圖片是</font></center><br>"; </p><p> echo "<center><img src=$dir.$filename height=500 width=800><center>";</p><p><b> }</b>
125、</p><p><b> else </b></p><p> echo "<script>alert('上傳文件失敗!')</script>";</p><p><b> }</b></p><p><b> }<
126、;/b></p><p><b> }</b></p><p><b> else</b></p><p> echo "<script>alert('文件格式錯誤!')</script>";</p><p><b>
127、 }</b></p><p><b> ?></b></p><p> 4.2.4 游客統(tǒng)計模塊</p><p> 該模塊的作用就是用來統(tǒng)計該游客是本網(wǎng)站的第幾位游客,以顯示本站的人氣如何,見圖4-7:</p><p> 圖4-7 網(wǎng)站訪問量界面</p><p>
128、 本模塊的詳細代碼是:</p><p> $file="ykjs.txt";</p><p> function disp($file)</p><p><b> { </b></p><p> $fp=fopen("./計數(shù)/$file","r&qu
129、ot;);</p><p> $num=fread($fp,100);</p><p> fclose($fp);</p><p><b> $num+=1;</b></p><p> echo "您是本站的第<font color=yellow>".$num."<
130、/font>位游客!<br>";</p><p> $fpw=fopen("./計數(shù)/$file","w");</p><p> fwrite($fpw,$num);</p><p> fclose($fpw);</p><p><b> }</b&g
131、t;</p><p> disp($file);</p><p> 4.2.5 投票模塊</p><p> 我相信肯定有很多人會天南地北的到處跑的,可能為了放松心情,可能為了工作,可能是為了做公益活動......無論是何種原因,我想人們都會有某個自己鐘愛的景點或城市,本模塊的作用就是希望廣大游客可以為自己喜歡的寧波景點投上一票:</p><
132、p> 圖4-8 用戶投票界面</p><p> 本模塊的詳細代碼如下:</p><p> <form enctype="multipart/form-data" action="dj.php" method="post" target=_blank></p><p> <
133、;table border=0></p><p> <tr><td bgcolor="#CCCCCC"><font size=4 color=blue>您最喜歡的景點是:</font></td></p><p> </tr><tr><td><input typ
134、e=radio name="vote" value="東錢湖">東錢湖</td></tr></p><p> <tr><td><input type=radio name="vote" value="溪口">溪口</td></tr></p
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于php的寧波市旅游網(wǎng)站的設計與實現(xiàn)[文獻綜述]
- 基于php的寧波市旅游網(wǎng)站的設計與實現(xiàn)[開題報告]
- 基于php的寧波市旅游網(wǎng)站的設計與實現(xiàn)[任務書]
- 旅游網(wǎng)站的設計與實現(xiàn)(畢業(yè)論文)
- 旅游網(wǎng)站設計與實現(xiàn)畢業(yè)論文
- 畢業(yè)論文——忻州旅游網(wǎng)站的設計與實現(xiàn)
- 魯迅故居旅游網(wǎng)站的設計與實現(xiàn) 【畢業(yè)論文】
- 旅游網(wǎng)站設計畢業(yè)論文
- 旅游網(wǎng)站畢業(yè)論文
- 旅游網(wǎng)站畢業(yè)論文
- 畢業(yè)設計--旅游網(wǎng)站的設計與實現(xiàn)(論文)
- 基于php的團購網(wǎng)站的設計與實現(xiàn)【畢業(yè)論文】
- 旅游網(wǎng)站的設計與實現(xiàn)(論文)
- 畢業(yè)論文——基于bs結構的旅游網(wǎng)站的開發(fā)與設計
- 旅游網(wǎng)站畢業(yè)論文 (2)
- 基于php的手機商城網(wǎng)站的設計與實現(xiàn)——畢業(yè)論文
- 基于php的招生咨詢網(wǎng)站的設計與實現(xiàn)畢業(yè)論文
- 檳檳旅游網(wǎng)站的設計與實現(xiàn)-職業(yè)學院畢業(yè)論文
- 面向校園的旅游網(wǎng)站分析與設計 【畢業(yè)論文】
- 檳檳旅游網(wǎng)站的設計與實現(xiàn)-職業(yè)學院畢業(yè)論文
評論
0/150
提交評論