基于php的寧波市旅游網站的設計與實現【畢業(yè)論文】_第1頁
已閱讀1頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  本科畢業(yè)設計(論文)</p><p><b>  (20 屆)</b></p><p>  論文題目 基于php的寧波市旅游網站的設計與實現</p><p>  所在學院 </p><p>  專業(yè)班級 計算機科學與技術

2、 </p><p>  學生姓名 學號 </p><p>  指導教師 職稱 </p><p>  完成日期 年 月 日</p><p><b>  誠 信 聲 明</b></p>

3、<p>  我聲明,所呈交的畢業(yè)設計作品和論文是本人經過近四年的基礎課程與專業(yè)課程學習的基礎上,在指導老師的指導下,經過幾個月集中的畢業(yè)設計學習、實踐和努力工作所取得的成果。據本人查證,除了文中特別加以標注和致謝的地方外,設計作品和論文中不包含其他人已經發(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數據庫的選擇10</p><p

6、>  3 相關術語及解釋11</p><p>  3.1 相關術語及解釋11</p><p>  4 網站詳細設計12</p><p>  4.1 數據庫設計12</p><p>  4.1.1 數據庫的搭建12</p><p>  4.1.2 數據庫連接13</p><p>

7、  4.2 頁面設計14</p><p>  4.2.1 網站首頁設計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 網站運行以及維護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>  本網站的設計是在Windows操作系統(tǒng)下實現的,使用Apache

10、作為服務器,MySQL數據庫,和php語言。WAMP組合可以實現大部分中小型網站和小部分大型網站的設計與實現,并且是免費的。php作為一種服務器端語言,擁有開放源代碼,基于服務器端,大多數數據庫支持,跨平臺,易于學習等優(yōu)點,由于現在開源系統(tǒng)開源免費使用,配置簡單,穩(wěn)定性好 ,性能優(yōu)良,以上這些優(yōu)點讓開源系統(tǒng)在低端市場中占據了很大的份額,而MySQL數據庫也是數據庫系統(tǒng)中的一大杰出代表,并且是開源你的,與php開源說是黃金搭檔。我這次設計

11、的寧波市旅游網站的主要功能有用戶注冊于登錄,信息瀏覽,圖片與文檔上傳,投票系統(tǒng),留言本等功能,即為廣大游客提供了寧波市的旅游文化介紹與景點游玩攻略,也實現了與用戶的簡單交互。</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>  計算機與網絡技術的高速發(fā)展,特別是面向對象技術的出現,使得php網站的開發(fā)得到了迅速普及。<

15、;/p><p>  已跨入21世紀的今天,人類使用和學習信息的方式以及信息的包裝方式正在進行著不可阻擋的革命,這次革命將比印刷術的出現所產生的影響以及對社會發(fā)展的推動遠為復雜而巨大。目前,我國上網的人口已近一個億,成立世界上網民最多的國家,許多人在需要查詢信息,首先想到的就是上網。網站的迷人之處在于綜合使用文本、圖象、聲音、動畫和視頻的信息和內容,具有豐富的多媒體表現與互動特點,無可置疑, 網站已成為最吸引人的也最有

16、效的信息傳遞手段和方式。隨著網絡技術的發(fā)展,各類網站紛紛出現。下載類網站也成為了人們獲取資源的一種不可缺少的途徑。作為綜合下載網站它的輻射范圍之廣,收錄內容之權和操作方法之便捷為廣大網民的生活工作以及學習提供了諸多方便,已經成為不少網民獲得所需資源的首選之地。 </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 語言的實現,它可以訪問數據庫,可以讓用戶開發(fā)簡單的動態(tài) Web 程序。Rasmus 發(fā)布了 PHP/FI 的源代碼,

18、以便每個人都可以使用它,同時大家也可以修正它的 Bug 并且改進它的源代碼。</p><p>  PHP/FI,一個專為個人主頁/表單提供解釋程序的程序,已經包含了今天 PHP 的一些基本功能。它有著 Perl 樣式的變量,自動解釋表單變量,并可以嵌入 HTML。語法本身與 Perl 很相似,但是它很有限,很簡單,還稍微有些不協調。</p><p>  到1997年,PHP/FI 2.0,

19、也就是它的 C 語言實現的第二版在全世界已經有幾千個用戶(估計)和大約 50,000 個域名安裝,大約是 Internet 所有域名的 1%。但是那時只有幾個人在為該工程撰寫少量當代碼,它仍然只是一個人的工程。</p><p>  PHP/FI 2.0 在經歷了數個 beta 版本的發(fā)布后于 1997 年 11 月發(fā)布了官方正式版本。不久,PHP 3.0 的第一個 alpha 版本的發(fā)布,PHP 從此走向了成功。

20、</p><p>  PHP 3.0 是類似于當今 PHP 語法結構的第一個版本。Andi Gutmans 和 Zeev Suraski 在為一所大學的項目中開發(fā)電子商務程序時發(fā)現 PHP/FI 2.0 功能明顯不足,于是他們重寫了代碼。這就是 PHP 3.0。經過Andi,Rasmus 和 Zeev 一系列的努力,考慮到 PHP/FI 已存在的用戶群,他們決定聯合發(fā)布 PHP 3.0 作為 PHP/FI 2.0

21、 的官方后繼版本。而 PHP/FI 2.0 的進一步開發(fā)幾乎終止了。</p><p>  PHP 3.0 的一個最強大的功能是它的可擴展性。除了給最終用戶提供數據庫、協議和 API 的基礎結構,它的可擴展性還吸引了大量的開發(fā)人員加入并提交新的模塊。后來證實,這是 PHP 3.0 取得巨大成功的關鍵。PHP 3.0 中的其它關鍵功能包括面向對象的支持和更強大和協調的語法結構。</p><p>

22、;  這個全新的語言伴隨著一個新的名稱發(fā)布。它從 PHP/FI 2.0 的名稱中移去了暗含“本語言只限于個人使用”的部分。它被命名為簡單的縮寫“PHP”。這是一種遞歸的縮寫,它的全稱是——PHP: Hypertext Preprocessor。</p><p>  1998 年末,PHP 的安裝人數幾近 10,000,有大約 100,000 個網站報告他們使用了 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、三方數據庫、API的支持使得這樣程序的編寫成為可能,但是 PHP 3.0 沒有高效處理如此復雜程序的能力。</p><p>  新的被稱為“Zend Engine”(這是 Zeev 和 Andi 的縮寫)的引擎,成功的實現了設計目標,并在 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 整合新功能的工作已經開始。</p><p>  今天,已經有 10,000

26、名開發(fā)人員(估計)和幾百萬網站報告已安裝了 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、請訪問其網站以獲取更多關于該引擎的信息。[1]</p><p>  2.2 PHP語言特點</p><p><b>  1)開放源代碼</b></p><p>  PHP屬于自由軟件,是完全免費的,用戶可以從PHP官網自由下載,而且可以不受限制的獲取源碼。</p><p><b>  2)基于服務端</b

28、></p><p>  PHP是運行在服務器上的,充分利用了服務器的性能,它的速度只與服務器的速度有關,因此他的運行速度可以非常快。</p><p><b>  3)數據庫支持</b></p><p>  PHP能夠支持目前絕大多數的數據庫,如DB2、dBase、Msql、Microsoft SQL Server等許多數據庫。</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還提供數量巨大的系統(tǒng)函數集,用戶只要調用一個函數就可以完成很復雜的功能。</p><p><b>  6)網絡應用</b></p><p>  PHP還提供強大的網絡應用功能,支持諸如LDAP、IMAP、SNMP、NNTP、POP3、HTTP、COM等協議服務。</p><p>

31、<b>  7)安全性</b></p><p>  由于PHP本身的代碼開放,所以它的代碼由許多工程師進行了檢測,同時它與Apache編譯在一起的方式也讓它具有靈活的安全設定.</p><p>  因為PHP語言具有這些特點,并且易于學習,所以我將使用PHP語言來開發(fā)寧波市旅游文化網站。[2]</p><p>  2.3 PHP語言發(fā)展趨勢&l

32、t;/p><p>  PHP目前在開發(fā)語言排行榜排名第五位,僅次于Java、C、C++和Visual Basic。同時PHP是世界上使用率最高的網頁開發(fā)語言,據法國PHP/MySQL入口網站Nexen對全世界近1090萬臺網頁服務器調查(2007年6月),使用PHP的網站比例高達33.88%,遠超過第二位的ASP網站。</p><p>  從PHP3到目前PHP4再到PHP5,再到未來的PHP

33、6,PHP越來越完善,功能也更強大。跨平臺的使用特性將使它在Linux平臺上大放異彩。可以直接使用Java的類庫,可以直接調用Perl、C等語言編寫的程序,這增強了它的可擴展性。越來越成熟的MVC開發(fā)框架使它能適應企業(yè)級的大型應用開發(fā),再加上它天生強大的數據庫支持能力,PHP將會得到更多web開發(fā)者的青睞。[3]</p><p>  開發(fā)工具的選擇與介紹</p><p>  本網站的建設選

34、用的開發(fā)工具是Eclipse,Eclipse是一個開放源代碼的、基于Java的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務,用于通過插件構建開發(fā)環(huán)境。幸運的是,Eclipse 附帶了一個標準的插件集,包括 Java 開發(fā)工具(Java Development Kit,JDK)。</p><p>  雖然大多數用戶很樂于將 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 等編程語言的插件已經可用,或預計將會推出。Eclipse 框架還可用來作為與軟件開發(fā)無關的其他應用程序類型的基礎,比如內容管理系統(tǒng)。 </p><p>  基于 Eclipse 的應用程序的一個突出例子是 IBM&

37、reg; Rational&reg; Software Architect,它構成了 IBM Java 開發(fā)工具系列的基礎。</p><p>  早在幾年前,Eclipse也推出了適合PHP的開發(fā)工具 Eclipse PDT。由于Eclipse是開源軟件,而且Eclipse PDT擁有語法突出顯示、代碼輔助、增量調試等特性,為PHP程序的開發(fā)提供了方便,所以Eclipse PDT一經推出就得到了廣大PHP

38、使用者的歡迎。[4]</p><p><b>  數據庫的選擇</b></p><p>  Php與mysql作為黃金搭檔一直是網站制作的主流選擇之一,本網站就是選用mysql作為網站數據庫進行數據存儲和交互的。[5]</p><p>  MySQL是一個小型關系型數據庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。在2008年1月16號被Sun

39、公司收購。而2009年,SUN又被Oracle收購.對于Mysql的前途,沒有任何人抱樂觀的態(tài)度.目前MySQL被廣泛地應用在Internet上的中小型網站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網站為了降低網站總體擁有成本而選擇了MySQL作為網站數據庫。[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)既能夠作為一個單獨的應用程序應用在客戶端服務器網絡環(huán)境中,也能夠作為一個庫而嵌入到其他的軟件中提供多語言支持,常見的編碼如中文的GB 2312、

42、BIG5,日文的Shift_JIS等都可以用作數據表名和數據列名   </p><p>  7)提供TCP/IP、ODBC和JDBC等多種數據庫連接途徑  </p><p>  8)提供用于管理、檢查、優(yōu)化數據庫操作的管理工具   </p><p>  9)可以處理擁有上千萬條記錄的大型數據庫[7]</p><p><b>  3

43、相關術語及解釋</b></p><p>  3.1 相關術語及解釋</p><p>  一、Internet</p><p>  Internet,中文正式譯名為因特網,又叫做國際互聯網。它是由那些使用公用語言互相通信的計算機連接而成的全球網絡。一旦你連接到它的任何一個節(jié)點上,就意味著您的計算機已經連入Internet網上了。Internet目前的用戶已

44、經遍及全球,有超過幾億人在使用Internet,并且它的用戶數還在以等比級數上升。[8]</p><p><b>  二、站點</b></p><p>  所謂站點,就是將網頁文件和素材文件,有條理地放置站點文件夾里,這些文件與文件夾就構成了網站的實質內容。站點文件夾里除了網頁文件還有素材文件,所謂素材就是網頁中所用到的圖像、聲音、視頻等,這些內容是以單獨文件的形式存

45、在。[9]</p><p><b>  三、超鏈接</b></p><p>  超鏈接在本質上屬于一個網頁的一部分,它是一種允許我們同其他網頁或站點之間進行連接的元素。各個網頁鏈接在一起后,才能真正構成一個網站。所謂的超鏈接是指從一個網頁指向一個目標的連接關系,這個目標可以是另一個網頁,也可以是相同網頁上的不同位置,還可以是一個圖片,一個電子郵件地址,一個文件,甚至是

46、一個應用程序。而在一個網頁中用來超鏈接的對象,可以是一段文本或者是一個圖片。當瀏覽者單擊已經鏈接的文字或圖片后,鏈接目標將顯示在瀏覽器上,并且根據目標的類型來打開或運行。[10]</p><p><b>  四、IP地址</b></p><p>  為了使互聯網上的電腦主機在通信時能夠相互識別,每臺主機都分配一個能表示其位置的IP(Internet Protocol)

47、地址,這如同公用電話網中電話的號碼一樣。IP地址是由專門的互聯網機構來分配。IP地址具有惟一性,是由32位二進制數組成,分為四組,每組8位,每組之間用小數點分隔,在實際之中常轉換成十進制數表示。[11]</p><p><b>  4 網站詳細設計</b></p><p><b>  4.1 數據庫設計</b></p><p&

48、gt;  4.1.1 數據庫的搭建</p><p>  本課題是寧波市旅游網站的設計與實現,我為網站選用的數據庫是MySQL數據庫,原因在上面已經纖細說明,現在來說下數據庫的搭建。為了實現用戶的注冊與登錄,必須創(chuàng)建一個數據表來存放注冊用戶的信息,然后在用戶登錄時,檢查登錄信息是否與數據表里的用戶信息一致,一致則登錄成功,否則登錄失敗。現在先來完成網站數據庫的創(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 用戶數據表字段名解釋</p><p>  上圖為創(chuàng)建表的命令中的一些字段的解釋,下面為數據表的表信息:</p><p>  表4-2 用戶數據表結構信息</p><p>  4.1.2 數據庫連接</p><p>  

52、在上面,已經成功創(chuàng)建了本站相關數據庫,在這里,用php吧程序和數據庫連接起來,以后就可以連接到數據庫、在php中顯示數據庫中的數據以及更復雜的插入、修改、和刪除。</p><p>  一起看以下代碼,這就是php程序中常用的連接數據庫的代碼:</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=’’; //選擇的數據庫名<

54、/p><p>  mysql_connect($host,$count,$pwd) or die($error); //登錄數據庫</p><p>  mysql_select_db($database_name); //連接數據庫</p><p><b>  ?></b></p><p>  以上是在ph

55、p程序中進行數據庫連接的代碼,下面看一下本網設計的數據庫連接代碼:</p><p><b>  <?php</b></p><p>  $conn = mysql_connect("localhost","root","123asd");</p><p>  if (!$conn

56、){</p><p>  die("連接數據庫失?。?quot; . 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>  //包含數據庫連接文件n</p><p>  include('conn.php');</p><p>  //檢測用戶名是否已經存在</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>  //寫入數據</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 '抱歉!添加數據失?。?#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 網站首頁設計</p><p>  首頁

70、是系統(tǒng)中功能最復雜的一個頁面,這里有通往其他頁面的所有鏈接,可以再這里上傳自己喜歡的照片和一些心得,可以在這里給自己最喜歡的一個景點投票,可以給管理員留言,可以登錄和注冊等等,首頁如下圖所示:</p><p>  圖4-1 網站首頁界面 </p><p>  4.2.2 用戶模塊</p><p>  用戶模塊包括用戶的注冊、登錄

71、與注銷,點擊首頁右上角的免費注冊就可以在本網站免費注冊一個賬號,下面是本站的注冊頁面:</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字符長度,支持漢字、字母、數字及_)</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("連接數據庫失?。?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>  //包含數據庫連接文件n</p><p>  include('conn.php');</p><p>  //檢測用戶名是否已經存在</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>  //寫入數據</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 '抱歉!添加數據失敗:',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>  //包含數據庫連接文件</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)計該游客是本網站的第幾位游客,以顯示本站的人氣如何,見圖4-7:</p><p>  圖4-7 網站訪問量界面</p><p>

128、  本模塊的詳細代碼是:</p><p>  $file="ykjs.txt";</p><p>  function disp($file)</p><p><b>  { </b></p><p>  $fp=fopen("./計數/$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("./計數/$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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論