版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 電子簡歷系統(tǒng)的設計與實現</p><p> Design and Implementation of E-RESUME</p><p><b> 摘 要</b></p><p> 利用PHP技術開發(fā)的電子簡歷系統(tǒng),實現了在Internet上快速完成個人簡歷,并能對其瀏覽、修改、選擇版式。</p><
2、;p> 關鍵詞:電子簡歷系統(tǒng),數據庫SQL,PHP教程 </p><p><b> 目 錄</b></p><p><b> 第一章 緒論1</b></p><p> 1.1 研究背景1</p><p> 1.2 本文的組織結構2</p><p>
3、; 第二章 系統(tǒng)開發(fā)環(huán)境2</p><p> 2.1 PHP語言簡介2</p><p> 2.1.1 PHP的特點2</p><p> 2.2 MySQL簡介3</p><p> 2.2.1 MySQL的特點3</p><p> 2.3 JavaScript語言簡介4</p&g
4、t;<p> 2.3.1 JavaScript的簡介4</p><p> 2.3.2 JavaScript的特點4</p><p> 2.4 HTML語言簡介5</p><p> 2.4.1 HTML語言的特點5</p><p> 2.5 Apache環(huán)境配置5</p><p&g
5、t;<b> 2.6 小結5</b></p><p> 第三章 系統(tǒng)分析與設計6</p><p> 3.1 需求分析6</p><p> 3.2 總體設計6</p><p> 3.2.1 未登錄用戶模塊7</p><p> 3.2.2 登錄用戶模塊8</p&
6、gt;<p> 3.2.3 管理員模塊8</p><p> 3.3 數據庫設計與實現8</p><p> 3.3.1 數據庫設計原則9</p><p> 3.3.2 數據庫概念結構設計10</p><p> 3.3.3 數據庫邏輯結構設計12</p><p> 3.4 本
7、章小結15</p><p> 第四章 系統(tǒng)功能的具體實現16</p><p> 4.1 系統(tǒng)前臺設計16</p><p> 4.1.1 系統(tǒng)前臺首頁16</p><p> 4.1.2 會員登錄設計16</p><p> 4.1.3 會員注冊設計18</p><p>
8、; 4.1.4 填寫簡歷信息設計20</p><p> 4.1.5 用戶選擇封面設計21</p><p> 4.2 系統(tǒng)后臺設計22</p><p> 4.2.1 用戶管理設計22</p><p> 4.2.2 封面管理設計24</p><p><b> 4.3 小結25&l
9、t;/b></p><p> 第五章 總 結25</p><p><b> 參考文獻25</b></p><p><b> 第一章 緒論</b></p><p><b> 1.1 研究背景</b></p><p> 隨著計算機技
10、術和通信技術的迅猛發(fā)展,計算機網絡已深入到人們的工作、生活與學習中;我們在網絡上辦公、在網絡上購物、在網絡上學習;而個人簡歷是求職者必備的,適用于求職。是讓求職者在網絡上快速編輯自己的個人簡歷選擇自己需要的版面樣式并打印,可以節(jié)省多種排版浪費的時間。</p><p> 1.2 本文的組織結構</p><p> 本文的組織結構如下:</p><p> 1、緒論。
11、綜述了本文的研究背景。</p><p> 2、系統(tǒng)開發(fā)工具(技術)介紹。介紹了本文開發(fā)所用的的工具,包括HTML,PHP,MySQL 和 JavaScript。</p><p> 3、系統(tǒng)開發(fā)環(huán)境介紹。介紹了本文開發(fā)所用的系統(tǒng)開發(fā)環(huán)境,簡要介紹Apache+MySQL+PHP開發(fā)環(huán)境,并對環(huán)境的配置進行了簡要介紹。</p><p> 4、系統(tǒng)的設計與實現。介紹
12、了電子簡歷系統(tǒng)的思路并進行了需求分析,在需求分析的基礎上進行了系統(tǒng)功能分析、系統(tǒng)功能模塊設計以及數據庫需求分析等相關方面;該部分是全文的主旨。</p><p> 5、系統(tǒng)功能模塊具體實現。對開發(fā)中一些主要具體功能的實現進行描述。涉及到數據庫詳細設計,系統(tǒng)詳細模塊設計等相關知識。</p><p> 6、總結與展望。對整個論文及設計過程進行總結,指出系統(tǒng)設計過程的心得以及設計中存在的不足;
13、后期還有待完善的地方等。</p><p> 第二章 系統(tǒng)開發(fā)環(huán)境</p><p> 電子簡歷系統(tǒng)以Windows+Apache+MySQL+PHP作為平臺,涉及到PHP語言、MySQL數據庫、JavaScript語言、HTML語言。</p><p> 2.1 PHP語言簡介</p><p> PHP,一個嵌套的縮寫名稱,是英文 “
14、超級文本預處理語言”(PHP: Hypertext Preprocessor)的縮寫。PHP 是一種 HTML 內嵌式的語言,PHP與微軟的ASP頗有幾分相似,都是一種在服務器端執(zhí)行的“嵌入HTML文檔的腳本語言”,語言的風格有類似于C語言,現在被很多的網站編程人員廣泛的運用。PHP 獨特的語法混合了 C、Java、Perl 以及 PHP 自創(chuàng)新的語法。它可以比 CGI 或者 Perl 更快速的執(zhí)行動態(tài)網頁。用PHP做出的動態(tài)頁面與其他
15、的編程語言相比,PHP是將程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成HTML標記的CGI要高許多;與同樣是嵌入HTML文檔的腳本語言JavaScript相比,PHP在服務器端執(zhí)行,成分利用了服務器的性能;PHP執(zhí)行引擎還會將用戶經常訪問的PHP程序駐留在內存中,其他用戶在一次訪問這個程序時就不需要誠信編譯程序了,只要直接執(zhí)行內存中的代碼就可以了,這也是PHP高效率的體現之一。PHP具有非常強大的功能,所有的CGI或者JavaSc
16、ript的功能PHP都能實現,而且支持幾乎所有流行的數據庫以及操作系統(tǒng)。</p><p> 2.1.1 PHP的特點</p><p> 開放的源代碼:所有的PHP源代碼事實上都可以得到。 PHP是免費的。</p><p> 基于服務器端:由于PHP是運行在服務器端的,即使再多的用戶,再復雜的程序也不會影響運行的速度。</p><p>
17、 跨平臺:PHP可以運行在UNIX、LINUX、WINDOWS下。 </p><p> 嵌入HTML:因為PHP可以嵌入HTML語言,所以學習起來并不困難。 </p><p> 簡單的語言:PHP堅持腳本語言為主,與Java以C++不同。</p><p> 效率高:PHP消耗相當少的系統(tǒng)資源。 </p><p> PHP 是一種用來
18、制作動態(tài)網頁的服務器端腳本語言。你通過PHP和HTML創(chuàng)建頁面。當訪問者打開網頁時,服務器端便會處理 PHP 指令,然后把其處理結果送到訪問者的瀏覽器上面,就好像 ASP一樣。 然而,PHP 跟 ASP 不一樣的地方在于,它是跨平臺的開放源代碼。PHP 可以在 Windows NT 以及很多不同的 Unix 版本中執(zhí)行,它也可以被編譯為一個 Apache 模塊,或者是一個CGI二進制文件。當被編譯為 Apache ??鞎r,PHP 尤其輕
19、巧方便。它沒有任何繁瑣程序所產生的負擔,因此可以很快的返回結果,同時也不需為了保持較小的服務器內存映象,而去調整mod_perl。</p><p> 除了能夠用來產生你的網頁的內容之外,PHP 也可以用來傳送 HTTP頭。你可以設定 cookies,授權管理,并將使用者重定向至新的頁面。它也能很好的訪問很多數據庫及ODBC。另外還可與各式各樣的外部庫集成,由此可以讓你做幾乎任何事情,從創(chuàng)建 PDF 文件到解析X
20、ML。</p><p> PHP 代碼就嵌在Web頁面中,因此你不必為它建立一個特別的開發(fā)環(huán)境或IDE。你用<?php and end it with ?>標志PHP代碼(也可以將PHP設定成使用ASP形式的<% %>標志甚至是用<SCRIPT LANGUAGE="php"></SCRIPT>)。PHP引擎會處理這些標志之間的任何東西。<
21、/p><p> PHP語言的語法跟C以及Perl很像。在使用前,你無須聲明變量。要創(chuàng)建陣列以及散列(關聯性陣列)也很快。PHP的初步面向對象特性還提供了組織及封裝代碼的簡便方法。</p><p> 你可以在其官方網站下載取得一份包括PHP所有函數和特性的用戶手冊。</p><p> 2.2 MySQL簡介</p><p> MySQL是
22、最受歡迎的開源SQL數據庫管理系統(tǒng),它由MySQL AB開發(fā)、發(fā)布和支持。MySQL AB是一家基于MySQL開發(fā)人員的商業(yè)公司,它是一家使用了一種成功的商業(yè)模式來結合開源價值和方法論的第二代開源公司。MySQL是MySQL AB的注冊商標。</p><p> MySQL是一個快速的、多線程、多用戶和健壯的SQL數據庫服務器。MySQL服務器支持關鍵任務、重負載生產系統(tǒng)的使用,也可以將它嵌入到一個大配置(mas
23、s-deployed)的軟件中去。</p><p> 2.2.1 MySQL的特點</p><p> MySQL作為后臺數據庫工具,它功能遠比Fox、Access強大,并提供了許多標準的關系數據庫管理功能的支持。它各種關系數據庫管理系統(tǒng)適應于各種硬件平臺,包括Unix,PC和主機系統(tǒng)。</p><p> 它的特點有以下幾點:</p><p
24、><b> ?。?)集成性 </b></p><p> 集成性即集多種應用數據于一體。集成性的主要表現為三個方面。首先采用統(tǒng)一的數據結構;其次它建立一個全局統(tǒng)一的數據模式,即不僅可以建立一個全局性的數據結構還可以建立數據間存在的語義聯系,從而構成一個內在緊密聯系的數據整體;最后它可以根據每個應用的數據需要構作局部模式,這種從局部到全局,再從全局到局部的過程是數據庫系統(tǒng)數據集成性的
25、主要特征。</p><p> ?。?)高共享性和低冗余性</p><p> 數據共享性主要表現在數據多個應用程序使用,并可用于不同的目的;數據可以在已有數據庫系統(tǒng)上開發(fā)新的應用程序;它可以向外界提供信息服務功能。數據冗余指同一個數據在不同的地方出現了重復儲存。數據庫系統(tǒng)所具有的高共享性和低冗余性不僅可以減少不必要的存儲空間,更為重要的是可以避免數據的不一致性。</p>&l
26、t;p><b> (3)數據獨立性</b></p><p> 數據獨立性指數據庫中的數據與使用這些數據的應用程序之間的互不依賴性,即數據或數據結構的改變不會導致對使用這些數據的應用程序的修改,反之亦然。數據獨立性包括物理獨立性和邏輯獨立性。物理獨立性是指數據的物理結構(包括存儲結構和存取方式)的改變,不影響數據庫的邏輯結構,從而不致引起應用程序的變化。邏輯獨立性指數據庫總體邏輯結構
27、的改變,如修改數據模式,增加新的數據結構,改變數據間聯系等不需要相應修改應用程序。</p><p> ?。?)數據的統(tǒng)一管理與控制</p><p> 數據的統(tǒng)一管理與控制表現在四個方面:數據的完整性檢查,即對數據庫中數據正確性作檢查以確保數據的正確;數據的安全性保護,它對數據庫訪問者作檢查以防止非法訪問;并發(fā)控制,它對多個應用并發(fā)訪問所產生的相互干擾作控制以保證其正確性;數據庫故障恢復,
28、它對遭受破壞的數據具有恢復能力,使數據庫具有抗破壞性。</p><p> 2.3 JavaScript語言簡介</p><p> 2.3.1 JavaScript的簡介</p><p> JavaScript是一種解釋性的,基于對象的腳本語言(an interpreted, object-based scripting language)。</p&g
29、t;<p> JavaScript主要是基于客戶端運行的,用戶點擊帶有JavaScript的網頁,網頁里的JavaScript就傳到瀏覽器,由瀏覽器對此作處理。前面提到的下拉菜單、驗證表單有效性等大量互動性功能,都是在客戶端完成的,不需要和Web Server發(fā)生任何數據交換, 因此,減輕了Web Server的負擔。</p><p> 2.3.2 JavaScript的特點</p>
30、;<p> 一種腳本編寫語言: JavaScript是一種腳本語言,它采取小程序段的方式實現編程。像其它腳本語言一樣,JavaScript同樣也是一種解釋性語言,它提供了一個簡易的開發(fā)過程。它的基本結構形式與C、C++、VB、Delphi十分相似。但它不需要先編譯,而是在程序運行過程中被逐行地解釋。它與html表示結合在一起,從而方便用戶使用操作。</p><p> 基于對象的語言 :JavaS
31、cript是一種基于對象的語言,同時也可以看作一種面向對象的語言。這意味著它能運用自己已經創(chuàng)建的對象。因此許多功能可以來自于腳本環(huán)境中對象的方法與腳本的相互作用。</p><p> 簡單性 :JavaScript的簡單性主要表現在:首先它是一種基于Java基本語句和控制流之上的簡單而緊湊的設計,從而對于學習Java是一種非常好的過渡。其次它的變量類型是采用弱類型,并未使用嚴格的數據類型。</p>
32、<p> 安全性 :JavaScript是一種安全性語言,它不允許訪問本地硬盤,并不能將數據存入到服務器上,不允許對網絡文檔進行修改和刪除,只能通過瀏覽器實現信息瀏覽或動態(tài)交互。從而有效地防止數據的丟失。</p><p> 動態(tài)性的 :JavaScript是動態(tài)的,它可以直接對用戶或客戶輸入做出響應,無須經過Web服務程序。它對用戶的反映響應,是采用以事件驅動的方式進行的。所謂事件驅動,就是指在主頁
33、(Home Page)中執(zhí)行了某種操作所產生的動作,這稱為"事件"。例如按下鼠標、移動窗口、選擇菜單等都可以視為事件。當事件發(fā)生后,可能會引起相應的事件響應。</p><p> 跨平臺性 :JavaScript是依賴于瀏覽器本身,與操作環(huán)境無關,只要能運行瀏覽器的計算機,并支持JavaScript的瀏覽器就可正確執(zhí)行。</p><p> 2.4 HTML語言簡介&
34、lt;/p><p> HTML(Hyper Text Markup Language 超文本標記語言)是一種用來制作超文本文檔的簡單標記語言。用HTML編寫的超文本文檔稱為HTML文檔,它能獨立于各種操作系統(tǒng)平臺(如UNIX,WINDOWS等)?;赪eb的信息處理,用得最多,最簡單的,能夠被廣泛理解的語言就是HTML語言。通過HTML標記可以實現在瀏覽器進行文字、表格、聲音、圖像、動畫、視頻等多媒體信息的檢索。&
35、lt;/p><p> HTML語言不但可以在任何文本編輯器中編輯,還可以在可視化網頁制作軟件中制作網頁時可以自動生成,不用自己在文本編輯器中編寫;在文檔中可以直接嵌入視頻剪輯、音效片斷和其他應用程序等。</p><p> 2.4.1 HTML語言的特點</p><p> 簡易性:HTML版本升級采用超集方式,從而更加靈活方便。</p><p&
36、gt; 可擴展性:HTML語言的廣泛應用帶來了加強功能,增加標識符等要求,HTML采取子類元素的方式,為系統(tǒng)擴展帶來保證。</p><p> 平臺無關性:雖然PC機大行其道,但使用MAC等其他機器的大有人在,HTML可以使用在廣泛的平臺上,這也是WWW盛行的另一個原因。 </p><p> 2.5 Apache環(huán)境配置</p><p> 在配置文件中,如下
37、幾項配置較為重要。</p><p> Listen 80:Listen可以用來設置httpd監(jiān)聽客戶端請求的IP地址和連接端口號,默認為80,可以修改端口號,例如可以修改81,則訪問地址為192.168.1.100:81,一般不用修改。</p><p> DocumentRoot "/var/www/html" :DocumentRoot用于存放網頁數據的根目錄,所
38、有來自客戶端的請求,都會以此目錄中的網頁來相應,默認的目錄為/var/www/html,自行設計網頁文件以后應該保存在此目錄中;當然此處可以進行修改,根目錄修改后,網頁文件應保存在修改后的目錄中。</p><p> DirectoryIndex index.html :index.php:DirectoryIndex選項可用來指定用戶連接到每個目錄時默認打開的網頁名稱,系統(tǒng)默認為index.html,本機由于首
39、頁為index.php 故在后面加上index.php。</p><p> AddDefaultCharset UTF-8:配置文件中默認字符集為UTF-8</p><p><b> 2.6 小結</b></p><p> 本章首先介紹了PHP語言,MySQL數據庫,JavaScript語言和HTML語言,最后給出了配置Apache+M
40、ySQL+PHP的方法。 第三章 系統(tǒng)分析與設計</p><p><b> 3.1 需求分析</b></p><p> 電子簡歷系統(tǒng)為用戶提供填寫簡歷,生成簡歷模板,選擇簡歷封面的功能。</p><p> 系統(tǒng)前臺提供的具體功能如下:</p><p>
41、1、用戶注冊功能:注冊成為電子簡歷系統(tǒng)的合法用戶。</p><p> 2、用戶登錄功能:已注冊用戶可以輸入用戶名和密碼進入電子簡歷系統(tǒng)。</p><p> 3、用戶找回密碼功能:已注冊用戶如果忘記自己的密碼,正確填寫用戶密碼問題和用戶密碼答案后,可以修改自己的密碼。</p><p> 4、填寫簡歷:普通用戶可以填寫簡歷。</p><p>
42、; 5、生成簡歷:普通用戶可以采用默認的簡歷模板(樣式一)生成簡歷。</p><p> 6、修改簡歷信息:用戶可以修改簡歷信息。 </p><p> 7、簡歷封面選擇:電子簡歷系統(tǒng)的用戶可以選擇封面。</p><p> 8、簡歷模板選擇:注冊用戶登錄后可以選擇樣式二生成簡歷。</p><p> 系統(tǒng)后臺管理模塊的具體功能如下:<
43、;/p><p> 1、用戶管理:管理員在后臺可以刪除有惡意的用戶。</p><p> 2、封面管理:管理員在后臺可以添加,刪除相應的封面。</p><p> 3、簡歷模板管理:管理員在后臺可以添加,刪除相應的簡歷模塊。(暫未處理)</p><p><b> 3.2 總體設計</b></p><p&
44、gt; 根據電子簡歷系統(tǒng)的功能需求,進行系統(tǒng)分析設計。系統(tǒng)功能模塊圖如圖3-1所示:</p><p> 圖3-1 系統(tǒng)功能模塊圖</p><p> 3.2.1 未登錄用戶模塊</p><p> 未登錄用戶模塊:未登錄的用戶可以填寫簡歷,簡歷信息可生成系統(tǒng)默認的樣式一,查看簡歷技巧。模塊圖如圖3-2所示:</p><p> 圖3-2
45、未登錄用戶功能模塊圖</p><p> 3.2.2 登錄用戶模塊</p><p> 登錄用戶模塊:用戶首先可以注冊成為電子簡歷系統(tǒng)的會員,然后登錄。登錄用戶不僅可以查填寫簡歷,生成樣式一的簡歷模板,查看簡歷技巧,還可以選擇樣式二生成簡歷模板,選擇簡歷封面。模塊圖如圖3-2所示:</p><p> 圖3-3 登錄用戶功能模塊圖</p><p
46、> 3.2.3 管理員模塊</p><p> 管理員模塊:管理員管理模塊也就是網站的后臺,主要工作是負責對用戶模塊和封面模塊的管理與維護。模塊圖如圖3-4所示:</p><p> 圖3-4 管理員模塊圖</p><p> 3.3 數據庫設計與實現</p><p> 數據庫在系統(tǒng)中占有非常重要的地位,數據庫結構設計的好壞將直
47、接對應用系統(tǒng)的效率以及實現的效果產生影響。合理的數據庫結構設計可以提高數據存儲的效率,保證數據的完整和一致。另外,合理的數據庫結構將非常有利于程序的實現。設計數據庫系統(tǒng)時應該首先充分了解用戶各個方面的需求,包括現有的以及將來可能增加的需求。</p><p> 3.3.1 數據庫設計原則</p><p> 在動態(tài)網站的設計中,數據庫設計的重要性不言而喻。如果設計不當,查詢起來就非常吃力
48、,程序的性能也會受到影響。無論你使用的是MySQL或者Oracle數據庫,通過進行正規(guī)化的表格設計,可以令你的PHP代碼更具可讀性,更容易擴展,從而也會提升應用的性能。</p><p><b> 1.合理使用索引 </b></p><p> 索引是數據庫中重要的數據結構,它的根本目的就是提高查詢效率。索引的使用要恰到好處,其使用原則如下: </p>
49、<p> 在經常進行連接,但是沒有指定為外鍵的列上建立索引,而不經常連接的字段則由優(yōu)化器自動生成索引;在頻繁進行排序或分組(即進行group by或order by操作)的列上建立索引;在條件表達式中經常用到的不同值較多的列上建立索引,在不同值少的列上不要建立索引。比如在文檔表的“文檔類型”列上只有“PHP教程”,“文獻書籍”,“學習網站”三個不同值,因此就無必要建立索引。如果建立索引不但不會提高查詢效率,反而會嚴重降低更新
50、速度。 如果待排序的列有多個,可以在這些列上建立復合索引。 </p><p> 2. 避免或簡化排序 </p><p> 應當盡量簡化或避免對大型表進行重復的排序。當能夠利用索引自動以適當的次序產生輸出時,優(yōu)化器就避免了排序這個步驟。為了避免不必要的排序,就要正確地增建索引,合理地合并數據庫表(盡管有時可能影響表的規(guī)范化,但相對于效率的提高是值得的)。如果排序不可避免,那么應當試圖簡化
51、它,如縮小排序的列的范圍等。 </p><p> 3.消除對大型表行數據的順序存取 </p><p> 在嵌套查詢中,表的順序存取對查詢效率可能產生致命的影響。我們有時可以使用并集來避免順序存取。盡管也許在所有的檢查列上都有索引,但某些形式的where子句會強迫優(yōu)化器使用順序存取,這一點也應注意。 </p><p> 4. 避免相關子查詢 </p>
52、<p> 如果一個列同時在主查詢和where子句中出現,很可能當主查詢中的列值改變之后,子查詢必須重新查詢一次。而且查詢嵌套層次越多,效率越低,因此應當盡量避免子查詢。如果子查詢不可避免,那么要在子查詢中過濾掉盡可能多的行。 </p><p> 5.使用臨時表加速查詢 </p><p> 把表的一個子集進行排序并創(chuàng)建臨時表,有時能加速查詢。它有助于避免多重排序操作,而且
53、在其他方面還能簡化優(yōu)化器的工作。臨時表中的行要比主表中的行少,而且物理順序就是所要求的順序,減少了磁盤i/o,所以查詢工作量可以得到大幅減少。但要注意,臨時表創(chuàng)建后不會反映主表的修改。在主表中數據頻繁修改的情況下,注意不要丟失數據。</p><p> 3.3.2 數據庫概念結構設計</p><p> 數據庫的E-R圖反映了實體、實體的屬性和實體之間的聯系。</p>&l
54、t;p> 下面的圖3-5至圖3-11顯示的是各個實體以及實體的屬性。</p><p> 圖3-5 登錄用戶的實體及屬性</p><p> 圖3-6 簡歷封面實體及屬性</p><p> 圖3-7 簡歷基本信息實體及屬性</p><p> 圖3-8 簡歷教育背景實體實體及屬性</p><p> 圖3-
55、9 用戶封面實體及屬性</p><p> 下面的圖3-10顯示的是系統(tǒng)E-R圖:</p><p> 圖3-10 系統(tǒng)E-R圖</p><p> 3.3.3 數據庫邏輯結構設計</p><p> 本系統(tǒng)數據庫為:resume,其中包含了五個MySQL數據表來實現對數據的存儲、調用。以下為具體數據表模式:</p><
56、p> (1) 【用戶表】(用戶ID、用戶名、用戶密碼、密保問題、密保問題答案)</p><p> (2) 【簡歷基本信息表】(簡歷用戶ID、用戶名、簡歷用戶名、性別、政治面貌、生日、身份證號碼、英語水平、計算機水平、聯系電話、通信地址、用戶頭像、求職意向、自我評價、email、專業(yè)、民族)</p><p> (3) 【用戶教育背景表】(用戶名、第一階段起始時間、第一階段結束時間
57、、學校一、學歷一、第二階段起始時間、第二階段結束時間、學校二、學歷二、第三階段起始時間、第三階段結束時間、學校三、學歷三、第四階段起始時間、第四階段結束時間、學校四、學歷四、第五階段起始時間、第五階段結束時間、學校五、學歷五、第六階段起始時間、第六階段結束時間、學校六、學歷六、第七階段起始時間、第七階段結束時間、學校七、學歷七)</p><p> (4) 【封面表】(封面id號、封面路徑)</p>
58、<p> (5) 【用戶封面表】(用戶名、封面路徑)</p><p> 其中,用下劃線標出的屬性為表的主鍵屬性。各表的具體設計如表4-1~表4-7所示。</p><p> 根據E-R圖,設計每張表的變量名,變量的類型及主鍵。</p><p> 1.Userpassword表</p><p> Userpassword表存
59、放用戶名、密碼、密保問題和密保問題答案。</p><p> 表4-1 userpassword表</p><p> 2.Userinfo表</p><p> Userinfo表存放用戶所有的簡歷基本信息。</p><p> 表4-2 Userinfo表</p><p><b> 3. Edu表
60、</b></p><p> Edu表存放簡歷用戶的教育背景。</p><p> 表4-3 edu表</p><p><b> 4.Cover表</b></p><p> Cover表存放簡歷封面。</p><p> 表4-4 Cover表</p>&l
61、t;p> 5.Usercover表</p><p> Usercover表存放用戶選擇的封面。</p><p> 表4-5 Usercover表</p><p><b> 3.4 本章小結</b></p><p> 本章介紹了電子簡歷系統(tǒng)的總體構想,以及實現的主要功能。根據需求分析對模塊功能作了較為
62、詳細的介紹。最后介紹了數據庫的設計原則,分析了數據庫的概念與邏輯結構設計。</p><p> 第四章 系統(tǒng)功能的具體實現</p><p> 4.1 系統(tǒng)前臺設計</p><p> 4.1.1 系統(tǒng)前臺首頁</p><p> 圖4-1 電子簡歷系統(tǒng)主頁面</p><p> 4.1.2 會員登錄設計&l
63、t;/p><p> 已注冊會員可以用用戶名和密碼登錄系統(tǒng)。</p><p> SESSION和COOKIE的區(qū)別:</p><p> Session:在計算機中,尤其是在網絡應用中,稱為“會話”。</p><p> Session是存在服務器端的,而Cookie是存在客戶端的。</p><p> Session是
64、存在內存中的,瀏覽器關閉它也就“死”了;Cookie是以文件方式存在的,可以修改其“存活”時間。</p><p> Cookie是Web服務器保存在用戶硬盤上的一段文本。Cookie允許一個Web站點在用戶的電腦上保存信息并且隨后再取回它??梢栽O置其存在時間。</p><p> 在本系統(tǒng)中,判斷用戶是否登錄則使用SESSION判斷,如果登錄成功,則在服務端創(chuàng)建SESSION,并將其用戶
65、名保存在其中。</p><p> 圖4-2 登錄驗證頁面</p><p> 在系統(tǒng)用戶登錄的時候,用戶需要輸入用戶名和密碼及驗證碼進行數據庫登錄驗證。用戶必須輸入用戶名和密碼以及驗證碼。否則將彈出對話框進行提示。</p><p><b> <?php</b></p><p> if(isset($_GET[
66、'tijiao']))</p><p><b> {</b></p><p> $nowname=$_GET['username'];</p><p> $nowword=$_GET['passwd'];</p><p> if(strcmp($nowname,&q
67、uot;admin")==0&&strcmp($nowword,"123456")==0)</p><p><b> {</b></p><p> echo "<script>self.location.href='admin_user.php'</script>&qu
68、ot;;</p><p><b> }</b></p><p> $acquire="select * from userpassword";</p><p> $result=mysql_query($acquire,$db);</p><p> $num_results=mysql_num
69、_rows($result);</p><p> if($nowname=="")</p><p><b> {</b></p><p> echo "<script>alert('用戶名不得為空')</script>"; }</p><p
70、><b> else</b></p><p><b> { </b></p><p> for ($i=0;$i<$num_results;$i++)</p><p><b> {</b></p><p> $row=mysql_fetch_row(
71、$result);</p><p> if(strcmp($row[0],$nowname)==0)</p><p><b> {</b></p><p> if(strcmp($row[3],$nowword)==0)</p><p><b> {</b></p><p
72、> $_SESSION['yonghuming']=$nowname;</p><p> echo "<br><font color=\"red\" size=\"3\"> $nowname,你好<br><br>";</p><p> echo "
73、;   你已經成功登錄!<br><br>"; </p><p><b> break;</b></p><p><b> }</b></p><p><b> else </b></p>
74、<p> { </p><p> echo "<script>alert(\"你的密碼不正確\")</script>";</p><p><b> } </b></p><p> echo "你還沒有注冊輕松簡歷&quo
75、t;;</p><p><b> } } }} </b></p><p><b> ?></b></p><p><b> 會員注冊設計</b></p><p> 在普通瀏覽者注冊會員時,需要填寫用戶名,密碼,重復密碼,密碼保護問題,密碼保護問題答案,這些信
76、息。只有規(guī)范填寫注冊信息才能注冊會員,否則將彈出對話框進行提示。該功能采用Javascript腳本進行判斷,以減輕數據庫的壓力。</p><p> 圖4-3 注冊驗證頁面</p><p> 判斷輸入是否規(guī)范是通過按扭onsubmit="return checkinfo()"觸發(fā)事件</p><p> <script type=text
77、/javascript></p><p> function checkinfo()</p><p><b> {</b></p><p> var name=document.getElementById('newname');</p><p> var type=/[0-9a-zA-Z]
78、{6,10}/;</p><p> var passwd1=document.getElementById('pw1');</p><p> var reg=/^[a-zA-Z]+[A-Za-z0-9_]{3,19}[a-zA-Z]+$/;</p><p> var passwd2=document.getElementById('pw
79、2');</p><p> len1=passwd1.value.length; </p><p> len2=passwd2.value.length; </p><p> if(!reg.test(name.value))</p><p><b> {</b></p>
80、<p> alert("用戶名不合法"); </p><p> name.value=""; </p><p> name.focus();</p><p> return false; </p><p><b> } </b></p>
81、<p> if(!type.test(passwd1.value))</p><p><b> {</b></p><p> alert("密碼必須為6~10個字符"); </p><p> passwd1.value=""; </p><p>
82、passwd1.focus(); </p><p> return false; </p><p><b> } </b></p><p> if(passwd2.value.substr(0,len2)!=passwd1.value.substr(0,len1))</p><p><
83、;b> {</b></p><p> alert("重置密碼和密碼不一致"); </p><p> passwd2.value="";</p><p> passwd2.focus();</p><p> return false;</p><p>&
84、lt;b> } }</b></p><p><b> </script></b></p><p><b> 填寫簡歷信息設計</b></p><p> 用戶登錄成功后,點擊“填寫簡歷”,便進入填寫簡歷信息的頁面,見圖4-5</p><p> 圖4-5 填寫
85、簡歷信息頁面</p><p> 判斷各項輸入是否規(guī)范是通過按扭onsubmit="return checkinfo()"觸發(fā)事件</p><p> function checkinfo()</p><p><b> {</b></p><p> var type_id=/^(\d{14}|\d
86、{17})(\d|[xX])$/ ; //身份證號碼的正則表達式</p><p> var type_phone=/\d{11}|\d{12}/;</p><p> var type_birth=/^((((1[6-9]|[2-9]\d)\d{2})(0?[13578]|1[02])(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})(0?
87、[13456789]|1[012])(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})0?2(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))0?229))$/; //年月日的正則表達式</p><p>
88、 if(document.getElementById('birth').value==""||!type_birth.test(document.getElementById('birth').value)) </p><p><b> {</b></p><p> alert('請檢查你的出生年月
89、日'); </p><p> return false; </p><p><b> }</b></p><p> if(document.getElementById('idnum').value==""||!type_id.test(document.getElementById(&
90、#39;idnum').value)) </p><p><b> {</b></p><p> alert('請輸入身份證號碼并確認其合法性'); </p><p> return false; </p><p><b> }</b></p>
91、<p><b> ………………</b></p><p><b> 選擇封面設計</b></p><p> 用戶登錄成功后,首頁滾動的封面可以鏈接到選擇封面的頁面,用戶選擇封面之前可以點擊按鈕“瀏覽”查看封面效果,如圖4-6所示</p><p> 圖4-6 瀏覽封面效果頁面</p><
92、;p> 用戶簡歷上的姓名和專業(yè)是通過函數imagejpeg();實現的,具體代碼如下:</p><p> $im=imagecreatefromjpeg($filename);</p><p> $s1="姓名:";</p><p> $s2="專業(yè):";</p><p> switch
93、 ($page)</p><p><b> {</b></p><p><b> case 1:</b></p><p> $red=imagecolorallocate($im,160,82,45);</p><p> $x=20;$y1=300;$y2=250;break;</p&
94、gt;<p><b> case 2:</b></p><p> $red=imagecolorallocate($im,255,255,255);</p><p> $x=20;$y1=400;$y2=450;break;</p><p><b> case 3:</b></p>&
95、lt;p> $red=imagecolorallocate($im,100,180,0);</p><p> $x=280;$y1=300;$y2=350;break;</p><p> …………………………</p><p><b> default:</b></p><p> $red=imagecol
96、orallocate($im,0,0,0);</p><p> $x=80;$y1=200;$y2=250;break;</p><p><b> }</b></p><p> $str = mb_convert_encoding($s1.$strname, "UTF-8", "GB2312&
97、quot;);</p><p> $str1 = mb_convert_encoding($s2.$strspecial, "UTF-8", "GB2312");</p><p> imagettftext($im,18,0,$x,$y1,$red,"C:/windows/fonts/simsun.ttc",$str);<
98、;/p><p> imagettftext($im,18,0,$x,$y2,$red,"C:/windows/fonts/simsun.ttc",$str1);</p><p> imagejpeg($im,"",68);</p><p> imagedestroy($im);</p><p><
99、;b> ?></b></p><p> 4.2 系統(tǒng)后臺設計</p><p> 管理員輸入管理員名稱和密碼,進入系統(tǒng)后臺。</p><p> 系統(tǒng)后臺用戶管理設計</p><p> ?。?)管理員成功登錄后臺后,就進入到用戶管理頁面。管理員可查看用戶信息,可以刪除用戶。用戶管理頁面見圖4-5</p>
100、;<p> 圖4-5 系統(tǒng)后臺用戶管理頁面</p><p><b> <?php</b></p><p> SESSION_START();</p><p> include ("connectsql.php");</p><p> require("admi
101、n.php");</p><p> $user="select * from userpassword";</p><p> $result=mysql_query($user,$db);</p><p> $user_num=mysql_num_rows($result);</p><p> if(is
102、set($_GET['del']))</p><p><b> { </b></p><p> $a=$_GET['del_num'];</p><p> $del="delete from userpassword where username=\"$a\""
103、;</p><p> mysql_query($del,$db);</p><p><b> }</b></p><p> for($i=0;$i<$user_num;$i++)</p><p><b> {</b></p><p> $row=mysql_f
104、etch_row($result);</p><p> echo"<td>$row[0]</td><td>$row[3]</td><td>$row[1]</td><td>$row[2]</td>";</p><p><b> }</b></
105、p><p><b> ?></b></p><p><b> </table></b></p><p> 4.2.2 后臺封面管理</p><p><b> 查看所有封面 </b></p><p> 管理員成功登錄以后,就進入系
106、統(tǒng)的系統(tǒng)管理界面,查看所有封面,可以刪除或者上傳封面 (如圖4-6)。</p><p> 圖4-6 上傳封面</p><p> 上傳封面和刪除封面代碼:</p><p> <input type="hidden" name="MAX_FILE_SIZE" value="1000000"&g
107、t;</p><p> <input type="file" name="cover" id="cover" size="10"> <input type="submit" name="tianjia" value="添加"></p>
108、<p><b> </div></b></p><p><b> <?php</b></p><p> if(isset($_POST['tianjia']))</p><p><b> { </b></p><p>
109、 $upfile='./image/'.$_FILES['cover']['name'];</p><p> echo $_FILES['cover']['name'];</p><p> if(is_uploaded_file($_FILES['cover']['tmp_name
110、']))</p><p><b> {</b></p><p> if(!move_uploaded_file($_FILES['cover']['tmp_name'],$upfile))</p><p><b> {</b></p><p> ech
111、o 'Problem:Could not move file to destination directory';</p><p><b> exit;</b></p><p><b> }</b></p><p><b> }</b></p><p>&
112、lt;b> else</b></p><p><b> {</b></p><p> echo 'Problem:Possible file upload attack.Filename:';</p><p> echo $upfile;</p><p> echo $_FIL
113、ES['cover']['name'];</p><p><b> exit;</b></p><p><b> } </b></p><p> $insert="insert into cover(personalcover) values('$upfile
114、39;)";</p><p> mysql_query($insert,$db);</p><p><b> }</b></p><p> if(isset($_GET['del']))</p><p><b> { </b></p><p
115、> $a=$_GET['del_num'];</p><p> $del="delete from cover where covernum=\"$a\"";</p><p> mysql_query($del,$db);</p><p><b> }</b></p&
116、gt;<p><b> ?></b></p><p><b> </form></b></p><p><b> 4.3 小結</b></p><p> 本章詳細介紹了電子簡歷系統(tǒng)幾個主要模塊的設計思想及代碼復用,JavaScript等相關技術的實現,并提供了樣
117、圖進行展示。</p><p><b> 第五章 總 結</b></p><p> 經過這一個多月的不斷學習和對相關資料的收集,經過了嚴格的測試,電子簡歷系統(tǒng)的大部分功能順利的完成了。</p><p> 由于在此之前對于PHP知識的掌握不是很牢固,所以從一開始就碰到許多困難。在整個設計階段,我覺得對系統(tǒng)進行需求分析,系統(tǒng)的總體設計和詳細設
118、計是非常重要的階段。當這些工作完成系統(tǒng),才是編寫代碼,實現功能的過程。在整個系統(tǒng)開發(fā)的過程中,我嘗到了粗心的惡果。這個系統(tǒng)的功能不多,可是我花了很多的時間,為什么呢?兩個字——粗心。經常寫錯變量,無法顯示數據。在數據庫方面的操作更是花了不少冤枉時間。比如有一次從table中讀數據寫到數據庫中,可是老是寫不進去,為了找這個原因,我重新創(chuàng)建數據庫中的表,查找是否有變量的拼寫錯誤……結果是因為我在要讀的數據前后加了空格,當初是為了在頁面中對齊
119、,所以總是寫不進數據庫。</p><p> 通過這次學習網站的開發(fā),讓我對PHP編程、MYSQL數據庫、超文本標記語言HTML和JavaScript語言等有了更深的了解,應用起來更加得心應手。在網站開發(fā)方面我也積累了一些經驗,取得了一些進步,但是在某些方面還存在一些不足。比如:系統(tǒng)功能太過單一,頁面美工設計還有一些不足,跟一些知名網站還是有一定的差距。在以后的學習道路上,我還要不斷的學習,努力的學習,對PHP還
120、要繼續(xù)鉆研下去。</p><p><b> 參考文獻</b></p><p> [1]LukeWelling ,Laura Thomson等編著.《PHP和MySQL Web開發(fā)》. 機械工業(yè)出版</p><p> [2] 葉昌福編著.《PHP函數庫查詢辭典》中國鐵道出版社</p><p> [3] 劉端陽,郭偉
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子琴課程設計---電子琴的設計與實現
- 電子裝置與系統(tǒng)設計課程設計報告
- 課程設計---網站管理系統(tǒng)設計與實現
- 課程設計---網上購物系統(tǒng)設計與實現
- 課程設計---貿易管理系統(tǒng)的設計與實現
- 【課程設計】汽車租賃系統(tǒng)的設計與實現
- 網上考試系統(tǒng)的設計與實現課程設計
- 機房監(jiān)控系統(tǒng)的設計與實現課程設計
- 課程設計--宿舍管理系統(tǒng)的設計與實現
- 簡歷管理信息系統(tǒng)課程設計
- 課程設計---網上購物系統(tǒng)設計與實現
- 課程設計---紅外遙控電子密碼鎖的設計與實現
- 課程設計---簡易電子琴電路的設計仿真與實現
- 課程設計-庫存物資管理系統(tǒng)的設計與實現
- 文件系統(tǒng)的設計與實現 課程設計報告
- java課程設計--超市管理系統(tǒng)的設計與實現
- 課程設計報告--校園導游系統(tǒng)的設計與實現
- 課程設計報告--模擬通信系統(tǒng)的設計與實現
- 網絡課程設計---簡單聊天系統(tǒng)的設計與實現
- eda課程設計與實現--鬧鈴系統(tǒng)設計及實現
評論
0/150
提交評論