版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 電子簡(jiǎn)歷系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p> Design and Implementation of E-RESUME</p><p><b> 摘 要</b></p><p> 利用PHP技術(shù)開(kāi)發(fā)的電子簡(jiǎn)歷系統(tǒng),實(shí)現(xiàn)了在Internet上快速完成個(gè)人簡(jiǎn)歷,并能對(duì)其瀏覽、修改、選擇版式。</p><
2、;p> 關(guān)鍵詞:電子簡(jiǎn)歷系統(tǒng),數(shù)據(jù)庫(kù)SQL,PHP教程 </p><p><b> 目 錄</b></p><p><b> 第一章 緒論1</b></p><p> 1.1 研究背景1</p><p> 1.2 本文的組織結(jié)構(gòu)2</p><p>
3、; 第二章 系統(tǒng)開(kāi)發(fā)環(huán)境2</p><p> 2.1 PHP語(yǔ)言簡(jiǎn)介2</p><p> 2.1.1 PHP的特點(diǎn)2</p><p> 2.2 MySQL簡(jiǎn)介3</p><p> 2.2.1 MySQL的特點(diǎn)3</p><p> 2.3 JavaScript語(yǔ)言簡(jiǎn)介4</p&g
4、t;<p> 2.3.1 JavaScript的簡(jiǎn)介4</p><p> 2.3.2 JavaScript的特點(diǎn)4</p><p> 2.4 HTML語(yǔ)言簡(jiǎn)介5</p><p> 2.4.1 HTML語(yǔ)言的特點(diǎn)5</p><p> 2.5 Apache環(huán)境配置5</p><p&g
5、t;<b> 2.6 小結(jié)5</b></p><p> 第三章 系統(tǒng)分析與設(shè)計(jì)6</p><p> 3.1 需求分析6</p><p> 3.2 總體設(shè)計(jì)6</p><p> 3.2.1 未登錄用戶(hù)模塊7</p><p> 3.2.2 登錄用戶(hù)模塊8</p&
6、gt;<p> 3.2.3 管理員模塊8</p><p> 3.3 數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn)8</p><p> 3.3.1 數(shù)據(jù)庫(kù)設(shè)計(jì)原則9</p><p> 3.3.2 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)10</p><p> 3.3.3 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)12</p><p> 3.4 本
7、章小結(jié)15</p><p> 第四章 系統(tǒng)功能的具體實(shí)現(xiàn)16</p><p> 4.1 系統(tǒng)前臺(tái)設(shè)計(jì)16</p><p> 4.1.1 系統(tǒng)前臺(tái)首頁(yè)16</p><p> 4.1.2 會(huì)員登錄設(shè)計(jì)16</p><p> 4.1.3 會(huì)員注冊(cè)設(shè)計(jì)18</p><p>
8、; 4.1.4 填寫(xiě)簡(jiǎn)歷信息設(shè)計(jì)20</p><p> 4.1.5 用戶(hù)選擇封面設(shè)計(jì)21</p><p> 4.2 系統(tǒng)后臺(tái)設(shè)計(jì)22</p><p> 4.2.1 用戶(hù)管理設(shè)計(jì)22</p><p> 4.2.2 封面管理設(shè)計(jì)24</p><p><b> 4.3 小結(jié)25&l
9、t;/b></p><p> 第五章 總 結(jié)25</p><p><b> 參考文獻(xiàn)25</b></p><p><b> 第一章 緒論</b></p><p><b> 1.1 研究背景</b></p><p> 隨著計(jì)算機(jī)技
10、術(shù)和通信技術(shù)的迅猛發(fā)展,計(jì)算機(jī)網(wǎng)絡(luò)已深入到人們的工作、生活與學(xué)習(xí)中;我們?cè)诰W(wǎng)絡(luò)上辦公、在網(wǎng)絡(luò)上購(gòu)物、在網(wǎng)絡(luò)上學(xué)習(xí);而個(gè)人簡(jiǎn)歷是求職者必備的,適用于求職。是讓求職者在網(wǎng)絡(luò)上快速編輯自己的個(gè)人簡(jiǎn)歷選擇自己需要的版面樣式并打印,可以節(jié)省多種排版浪費(fèi)的時(shí)間。</p><p> 1.2 本文的組織結(jié)構(gòu)</p><p> 本文的組織結(jié)構(gòu)如下:</p><p> 1、緒論。
11、綜述了本文的研究背景。</p><p> 2、系統(tǒng)開(kāi)發(fā)工具(技術(shù))介紹。介紹了本文開(kāi)發(fā)所用的的工具,包括HTML,PHP,MySQL 和 JavaScript。</p><p> 3、系統(tǒng)開(kāi)發(fā)環(huán)境介紹。介紹了本文開(kāi)發(fā)所用的系統(tǒng)開(kāi)發(fā)環(huán)境,簡(jiǎn)要介紹Apache+MySQL+PHP開(kāi)發(fā)環(huán)境,并對(duì)環(huán)境的配置進(jìn)行了簡(jiǎn)要介紹。</p><p> 4、系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。介紹
12、了電子簡(jiǎn)歷系統(tǒng)的思路并進(jìn)行了需求分析,在需求分析的基礎(chǔ)上進(jìn)行了系統(tǒng)功能分析、系統(tǒng)功能模塊設(shè)計(jì)以及數(shù)據(jù)庫(kù)需求分析等相關(guān)方面;該部分是全文的主旨。</p><p> 5、系統(tǒng)功能模塊具體實(shí)現(xiàn)。對(duì)開(kāi)發(fā)中一些主要具體功能的實(shí)現(xiàn)進(jìn)行描述。涉及到數(shù)據(jù)庫(kù)詳細(xì)設(shè)計(jì),系統(tǒng)詳細(xì)模塊設(shè)計(jì)等相關(guān)知識(shí)。</p><p> 6、總結(jié)與展望。對(duì)整個(gè)論文及設(shè)計(jì)過(guò)程進(jìn)行總結(jié),指出系統(tǒng)設(shè)計(jì)過(guò)程的心得以及設(shè)計(jì)中存在的不足;
13、后期還有待完善的地方等。</p><p> 第二章 系統(tǒng)開(kāi)發(fā)環(huán)境</p><p> 電子簡(jiǎn)歷系統(tǒng)以Windows+Apache+MySQL+PHP作為平臺(tái),涉及到PHP語(yǔ)言、MySQL數(shù)據(jù)庫(kù)、JavaScript語(yǔ)言、HTML語(yǔ)言。</p><p> 2.1 PHP語(yǔ)言簡(jiǎn)介</p><p> PHP,一個(gè)嵌套的縮寫(xiě)名稱(chēng),是英文 “
14、超級(jí)文本預(yù)處理語(yǔ)言”(PHP: Hypertext Preprocessor)的縮寫(xiě)。PHP 是一種 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è)面與其他
15、的編程語(yǔ)言相比,PHP是將程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成HTML標(biāo)記的CGI要高許多;與同樣是嵌入HTML文檔的腳本語(yǔ)言JavaScript相比,PHP在服務(wù)器端執(zhí)行,成分利用了服務(wù)器的性能;PHP執(zhí)行引擎還會(huì)將用戶(hù)經(jīng)常訪(fǎng)問(wèn)的PHP程序駐留在內(nèi)存中,其他用戶(hù)在一次訪(fǎng)問(wèn)這個(gè)程序時(shí)就不需要誠(chéng)信編譯程序了,只要直接執(zhí)行內(nèi)存中的代碼就可以了,這也是PHP高效率的體現(xiàn)之一。PHP具有非常強(qiáng)大的功能,所有的CGI或者JavaSc
16、ript的功能PHP都能實(shí)現(xiàn),而且支持幾乎所有流行的數(shù)據(jù)庫(kù)以及操作系統(tǒng)。</p><p> 2.1.1 PHP的特點(diǎn)</p><p> 開(kāi)放的源代碼:所有的PHP源代碼事實(shí)上都可以得到。 PHP是免費(fèi)的。</p><p> 基于服務(wù)器端:由于PHP是運(yùn)行在服務(wù)器端的,即使再多的用戶(hù),再?gòu)?fù)雜的程序也不會(huì)影響運(yùn)行的速度。</p><p>
17、 跨平臺(tái):PHP可以運(yùn)行在UNIX、LINUX、WINDOWS下。 </p><p> 嵌入HTML:因?yàn)镻HP可以嵌入HTML語(yǔ)言,所以學(xué)習(xí)起來(lái)并不困難。 </p><p> 簡(jiǎn)單的語(yǔ)言:PHP堅(jiān)持腳本語(yǔ)言為主,與Java以C++不同。</p><p> 效率高:PHP消耗相當(dāng)少的系統(tǒng)資源。 </p><p> PHP 是一種用來(lái)
18、制作動(dòng)態(tài)網(wǎng)頁(yè)的服務(wù)器端腳本語(yǔ)言。你通過(guò)PHP和HTML創(chuàng)建頁(yè)面。當(dāng)訪(fǎng)問(wèn)者打開(kāi)網(wǎng)頁(yè)時(shí),服務(wù)器端便會(huì)處理 PHP 指令,然后把其處理結(jié)果送到訪(fǎng)問(wèn)者的瀏覽器上面,就好像 ASP一樣。 然而,PHP 跟 ASP 不一樣的地方在于,它是跨平臺(tái)的開(kāi)放源代碼。PHP 可以在 Windows NT 以及很多不同的 Unix 版本中執(zhí)行,它也可以被編譯為一個(gè) Apache 模塊,或者是一個(gè)CGI二進(jìn)制文件。當(dāng)被編譯為 Apache ??鞎r(shí),PHP 尤其輕
19、巧方便。它沒(méi)有任何繁瑣程序所產(chǎn)生的負(fù)擔(dān),因此可以很快的返回結(jié)果,同時(shí)也不需為了保持較小的服務(wù)器內(nèi)存映象,而去調(diào)整mod_perl。</p><p> 除了能夠用來(lái)產(chǎn)生你的網(wǎng)頁(yè)的內(nèi)容之外,PHP 也可以用來(lái)傳送 HTTP頭。你可以設(shè)定 cookies,授權(quán)管理,并將使用者重定向至新的頁(yè)面。它也能很好的訪(fǎng)問(wèn)很多數(shù)據(jù)庫(kù)及ODBC。另外還可與各式各樣的外部庫(kù)集成,由此可以讓你做幾乎任何事情,從創(chuàng)建 PDF 文件到解析X
20、ML。</p><p> PHP 代碼就嵌在Web頁(yè)面中,因此你不必為它建立一個(gè)特別的開(kāi)發(fā)環(huán)境或IDE。你用<?php and end it with ?>標(biāo)志PHP代碼(也可以將PHP設(shè)定成使用ASP形式的<% %>標(biāo)志甚至是用<SCRIPT LANGUAGE="php"></SCRIPT>)。PHP引擎會(huì)處理這些標(biāo)志之間的任何東西。<
21、/p><p> PHP語(yǔ)言的語(yǔ)法跟C以及Perl很像。在使用前,你無(wú)須聲明變量。要?jiǎng)?chuàng)建陣列以及散列(關(guān)聯(lián)性陣列)也很快。PHP的初步面向?qū)ο筇匦赃€提供了組織及封裝代碼的簡(jiǎn)便方法。</p><p> 你可以在其官方網(wǎng)站下載取得一份包括PHP所有函數(shù)和特性的用戶(hù)手冊(cè)。</p><p> 2.2 MySQL簡(jiǎn)介</p><p> MySQL是
22、最受歡迎的開(kāi)源SQL數(shù)據(jù)庫(kù)管理系統(tǒng),它由MySQL AB開(kāi)發(fā)、發(fā)布和支持。MySQL AB是一家基于MySQL開(kāi)發(fā)人員的商業(yè)公司,它是一家使用了一種成功的商業(yè)模式來(lái)結(jié)合開(kāi)源價(jià)值和方法論的第二代開(kāi)源公司。MySQL是MySQL AB的注冊(cè)商標(biāo)。</p><p> MySQL是一個(gè)快速的、多線(xiàn)程、多用戶(hù)和健壯的SQL數(shù)據(jù)庫(kù)服務(wù)器。MySQL服務(wù)器支持關(guān)鍵任務(wù)、重負(fù)載生產(chǎn)系統(tǒng)的使用,也可以將它嵌入到一個(gè)大配置(mas
23、s-deployed)的軟件中去。</p><p> 2.2.1 MySQL的特點(diǎn)</p><p> MySQL作為后臺(tái)數(shù)據(jù)庫(kù)工具,它功能遠(yuǎn)比Fox、Access強(qiáng)大,并提供了許多標(biāo)準(zhǔn)的關(guān)系數(shù)據(jù)庫(kù)管理功能的支持。它各種關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)適應(yīng)于各種硬件平臺(tái),包括Unix,PC和主機(jī)系統(tǒng)。</p><p> 它的特點(diǎn)有以下幾點(diǎn):</p><p
24、><b> (1)集成性 </b></p><p> 集成性即集多種應(yīng)用數(shù)據(jù)于一體。集成性的主要表現(xiàn)為三個(gè)方面。首先采用統(tǒng)一的數(shù)據(jù)結(jié)構(gòu);其次它建立一個(gè)全局統(tǒng)一的數(shù)據(jù)模式,即不僅可以建立一個(gè)全局性的數(shù)據(jù)結(jié)構(gòu)還可以建立數(shù)據(jù)間存在的語(yǔ)義聯(lián)系,從而構(gòu)成一個(gè)內(nèi)在緊密聯(lián)系的數(shù)據(jù)整體;最后它可以根據(jù)每個(gè)應(yīng)用的數(shù)據(jù)需要構(gòu)作局部模式,這種從局部到全局,再?gòu)娜值骄植康倪^(guò)程是數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)集成性的
25、主要特征。</p><p> ?。?)高共享性和低冗余性</p><p> 數(shù)據(jù)共享性主要表現(xiàn)在數(shù)據(jù)多個(gè)應(yīng)用程序使用,并可用于不同的目的;數(shù)據(jù)可以在已有數(shù)據(jù)庫(kù)系統(tǒng)上開(kāi)發(fā)新的應(yīng)用程序;它可以向外界提供信息服務(wù)功能。數(shù)據(jù)冗余指同一個(gè)數(shù)據(jù)在不同的地方出現(xiàn)了重復(fù)儲(chǔ)存。數(shù)據(jù)庫(kù)系統(tǒng)所具有的高共享性和低冗余性不僅可以減少不必要的存儲(chǔ)空間,更為重要的是可以避免數(shù)據(jù)的不一致性。</p>&l
26、t;p><b> ?。?)數(shù)據(jù)獨(dú)立性</b></p><p> 數(shù)據(jù)獨(dú)立性指數(shù)據(jù)庫(kù)中的數(shù)據(jù)與使用這些數(shù)據(jù)的應(yīng)用程序之間的互不依賴(lài)性,即數(shù)據(jù)或數(shù)據(jù)結(jié)構(gòu)的改變不會(huì)導(dǎo)致對(duì)使用這些數(shù)據(jù)的應(yīng)用程序的修改,反之亦然。數(shù)據(jù)獨(dú)立性包括物理獨(dú)立性和邏輯獨(dú)立性。物理獨(dú)立性是指數(shù)據(jù)的物理結(jié)構(gòu)(包括存儲(chǔ)結(jié)構(gòu)和存取方式)的改變,不影響數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),從而不致引起應(yīng)用程序的變化。邏輯獨(dú)立性指數(shù)據(jù)庫(kù)總體邏輯結(jié)構(gòu)
27、的改變,如修改數(shù)據(jù)模式,增加新的數(shù)據(jù)結(jié)構(gòu),改變數(shù)據(jù)間聯(lián)系等不需要相應(yīng)修改應(yīng)用程序。</p><p> ?。?)數(shù)據(jù)的統(tǒng)一管理與控制</p><p> 數(shù)據(jù)的統(tǒng)一管理與控制表現(xiàn)在四個(gè)方面:數(shù)據(jù)的完整性檢查,即對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)正確性作檢查以確保數(shù)據(jù)的正確;數(shù)據(jù)的安全性保護(hù),它對(duì)數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)者作檢查以防止非法訪(fǎng)問(wèn);并發(fā)控制,它對(duì)多個(gè)應(yīng)用并發(fā)訪(fǎng)問(wèn)所產(chǎn)生的相互干擾作控制以保證其正確性;數(shù)據(jù)庫(kù)故障恢復(fù),
28、它對(duì)遭受破壞的數(shù)據(jù)具有恢復(fù)能力,使數(shù)據(jù)庫(kù)具有抗破壞性。</p><p> 2.3 JavaScript語(yǔ)言簡(jiǎn)介</p><p> 2.3.1 JavaScript的簡(jiǎn)介</p><p> JavaScript是一種解釋性的,基于對(duì)象的腳本語(yǔ)言(an interpreted, object-based scripting language)。</p&g
29、t;<p> JavaScript主要是基于客戶(hù)端運(yùn)行的,用戶(hù)點(diǎn)擊帶有JavaScript的網(wǎng)頁(yè),網(wǎng)頁(yè)里的JavaScript就傳到瀏覽器,由瀏覽器對(duì)此作處理。前面提到的下拉菜單、驗(yàn)證表單有效性等大量互動(dòng)性功能,都是在客戶(hù)端完成的,不需要和Web Server發(fā)生任何數(shù)據(jù)交換, 因此,減輕了Web Server的負(fù)擔(dān)。</p><p> 2.3.2 JavaScript的特點(diǎn)</p>
30、;<p> 一種腳本編寫(xiě)語(yǔ)言: JavaScript是一種腳本語(yǔ)言,它采取小程序段的方式實(shí)現(xiàn)編程。像其它腳本語(yǔ)言一樣,JavaScript同樣也是一種解釋性語(yǔ)言,它提供了一個(gè)簡(jiǎn)易的開(kāi)發(fā)過(guò)程。它的基本結(jié)構(gòu)形式與C、C++、VB、Delphi十分相似。但它不需要先編譯,而是在程序運(yùn)行過(guò)程中被逐行地解釋。它與html表示結(jié)合在一起,從而方便用戶(hù)使用操作。</p><p> 基于對(duì)象的語(yǔ)言 :JavaS
31、cript是一種基于對(duì)象的語(yǔ)言,同時(shí)也可以看作一種面向?qū)ο蟮恼Z(yǔ)言。這意味著它能運(yùn)用自己已經(jīng)創(chuàng)建的對(duì)象。因此許多功能可以來(lái)自于腳本環(huán)境中對(duì)象的方法與腳本的相互作用。</p><p> 簡(jiǎn)單性 :JavaScript的簡(jiǎn)單性主要表現(xiàn)在:首先它是一種基于Java基本語(yǔ)句和控制流之上的簡(jiǎn)單而緊湊的設(shè)計(jì),從而對(duì)于學(xué)習(xí)Java是一種非常好的過(guò)渡。其次它的變量類(lèi)型是采用弱類(lèi)型,并未使用嚴(yán)格的數(shù)據(jù)類(lèi)型。</p>
32、<p> 安全性 :JavaScript是一種安全性語(yǔ)言,它不允許訪(fǎng)問(wèn)本地硬盤(pán),并不能將數(shù)據(jù)存入到服務(wù)器上,不允許對(duì)網(wǎng)絡(luò)文檔進(jìn)行修改和刪除,只能通過(guò)瀏覽器實(shí)現(xiàn)信息瀏覽或動(dòng)態(tài)交互。從而有效地防止數(shù)據(jù)的丟失。</p><p> 動(dòng)態(tài)性的 :JavaScript是動(dòng)態(tài)的,它可以直接對(duì)用戶(hù)或客戶(hù)輸入做出響應(yīng),無(wú)須經(jīng)過(guò)Web服務(wù)程序。它對(duì)用戶(hù)的反映響應(yīng),是采用以事件驅(qū)動(dòng)的方式進(jìn)行的。所謂事件驅(qū)動(dòng),就是指在主頁(yè)
33、(Home Page)中執(zhí)行了某種操作所產(chǎn)生的動(dòng)作,這稱(chēng)為"事件"。例如按下鼠標(biāo)、移動(dòng)窗口、選擇菜單等都可以視為事件。當(dāng)事件發(fā)生后,可能會(huì)引起相應(yīng)的事件響應(yīng)。</p><p> 跨平臺(tái)性 :JavaScript是依賴(lài)于瀏覽器本身,與操作環(huán)境無(wú)關(guān),只要能運(yùn)行瀏覽器的計(jì)算機(jī),并支持JavaScript的瀏覽器就可正確執(zhí)行。</p><p> 2.4 HTML語(yǔ)言簡(jiǎn)介&
34、lt;/p><p> HTML(Hyper Text Markup Language 超文本標(biāo)記語(yǔ)言)是一種用來(lái)制作超文本文檔的簡(jiǎn)單標(biāo)記語(yǔ)言。用HTML編寫(xiě)的超文本文檔稱(chēng)為HTML文檔,它能獨(dú)立于各種操作系統(tǒng)平臺(tái)(如UNIX,WINDOWS等)。基于Web的信息處理,用得最多,最簡(jiǎn)單的,能夠被廣泛理解的語(yǔ)言就是HTML語(yǔ)言。通過(guò)HTML標(biāo)記可以實(shí)現(xiàn)在瀏覽器進(jìn)行文字、表格、聲音、圖像、動(dòng)畫(huà)、視頻等多媒體信息的檢索。&
35、lt;/p><p> HTML語(yǔ)言不但可以在任何文本編輯器中編輯,還可以在可視化網(wǎng)頁(yè)制作軟件中制作網(wǎng)頁(yè)時(shí)可以自動(dòng)生成,不用自己在文本編輯器中編寫(xiě);在文檔中可以直接嵌入視頻剪輯、音效片斷和其他應(yīng)用程序等。</p><p> 2.4.1 HTML語(yǔ)言的特點(diǎn)</p><p> 簡(jiǎn)易性:HTML版本升級(jí)采用超集方式,從而更加靈活方便。</p><p&
36、gt; 可擴(kuò)展性:HTML語(yǔ)言的廣泛應(yīng)用帶來(lái)了加強(qiáng)功能,增加標(biāo)識(shí)符等要求,HTML采取子類(lèi)元素的方式,為系統(tǒng)擴(kuò)展帶來(lái)保證。</p><p> 平臺(tái)無(wú)關(guān)性:雖然PC機(jī)大行其道,但使用MAC等其他機(jī)器的大有人在,HTML可以使用在廣泛的平臺(tái)上,這也是WWW盛行的另一個(gè)原因。 </p><p> 2.5 Apache環(huán)境配置</p><p> 在配置文件中,如下
37、幾項(xiàng)配置較為重要。</p><p> Listen 80:Listen可以用來(lái)設(shè)置httpd監(jiān)聽(tīng)客戶(hù)端請(qǐng)求的IP地址和連接端口號(hào),默認(rèn)為80,可以修改端口號(hào),例如可以修改81,則訪(fǎng)問(wèn)地址為192.168.1.100:81,一般不用修改。</p><p> DocumentRoot "/var/www/html" :DocumentRoot用于存放網(wǎng)頁(yè)數(shù)據(jù)的根目錄,所
38、有來(lái)自客戶(hù)端的請(qǐng)求,都會(huì)以此目錄中的網(wǎng)頁(yè)來(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)保存在修改后的目錄中。</p><p> DirectoryIndex index.html :index.php:DirectoryIndex選項(xiàng)可用來(lái)指定用戶(hù)連接到每個(gè)目錄時(shí)默認(rèn)打開(kāi)的網(wǎng)頁(yè)名稱(chēng),系統(tǒng)默認(rèn)為index.html,本機(jī)由于首
39、頁(yè)為index.php 故在后面加上index.php。</p><p> AddDefaultCharset UTF-8:配置文件中默認(rèn)字符集為UTF-8</p><p><b> 2.6 小結(jié)</b></p><p> 本章首先介紹了PHP語(yǔ)言,MySQL數(shù)據(jù)庫(kù),JavaScript語(yǔ)言和HTML語(yǔ)言,最后給出了配置Apache+M
40、ySQL+PHP的方法。 第三章 系統(tǒng)分析與設(shè)計(jì)</p><p><b> 3.1 需求分析</b></p><p> 電子簡(jiǎn)歷系統(tǒng)為用戶(hù)提供填寫(xiě)簡(jiǎn)歷,生成簡(jiǎn)歷模板,選擇簡(jiǎn)歷封面的功能。</p><p> 系統(tǒng)前臺(tái)提供的具體功能如下:</p><p>
41、1、用戶(hù)注冊(cè)功能:注冊(cè)成為電子簡(jiǎn)歷系統(tǒng)的合法用戶(hù)。</p><p> 2、用戶(hù)登錄功能:已注冊(cè)用戶(hù)可以輸入用戶(hù)名和密碼進(jìn)入電子簡(jiǎn)歷系統(tǒng)。</p><p> 3、用戶(hù)找回密碼功能:已注冊(cè)用戶(hù)如果忘記自己的密碼,正確填寫(xiě)用戶(hù)密碼問(wèn)題和用戶(hù)密碼答案后,可以修改自己的密碼。</p><p> 4、填寫(xiě)簡(jiǎn)歷:普通用戶(hù)可以填寫(xiě)簡(jiǎn)歷。</p><p>
42、; 5、生成簡(jiǎn)歷:普通用戶(hù)可以采用默認(rèn)的簡(jiǎn)歷模板(樣式一)生成簡(jiǎn)歷。</p><p> 6、修改簡(jiǎn)歷信息:用戶(hù)可以修改簡(jiǎn)歷信息。 </p><p> 7、簡(jiǎn)歷封面選擇:電子簡(jiǎn)歷系統(tǒng)的用戶(hù)可以選擇封面。</p><p> 8、簡(jiǎn)歷模板選擇:注冊(cè)用戶(hù)登錄后可以選擇樣式二生成簡(jiǎn)歷。</p><p> 系統(tǒng)后臺(tái)管理模塊的具體功能如下:<
43、;/p><p> 1、用戶(hù)管理:管理員在后臺(tái)可以刪除有惡意的用戶(hù)。</p><p> 2、封面管理:管理員在后臺(tái)可以添加,刪除相應(yīng)的封面。</p><p> 3、簡(jiǎn)歷模板管理:管理員在后臺(tái)可以添加,刪除相應(yīng)的簡(jiǎn)歷模塊。(暫未處理)</p><p><b> 3.2 總體設(shè)計(jì)</b></p><p&
44、gt; 根據(jù)電子簡(jiǎn)歷系統(tǒng)的功能需求,進(jìn)行系統(tǒng)分析設(shè)計(jì)。系統(tǒng)功能模塊圖如圖3-1所示:</p><p> 圖3-1 系統(tǒng)功能模塊圖</p><p> 3.2.1 未登錄用戶(hù)模塊</p><p> 未登錄用戶(hù)模塊:未登錄的用戶(hù)可以填寫(xiě)簡(jiǎn)歷,簡(jiǎn)歷信息可生成系統(tǒng)默認(rèn)的樣式一,查看簡(jiǎn)歷技巧。模塊圖如圖3-2所示:</p><p> 圖3-2
45、未登錄用戶(hù)功能模塊圖</p><p> 3.2.2 登錄用戶(hù)模塊</p><p> 登錄用戶(hù)模塊:用戶(hù)首先可以注冊(cè)成為電子簡(jiǎn)歷系統(tǒng)的會(huì)員,然后登錄。登錄用戶(hù)不僅可以查填寫(xiě)簡(jiǎn)歷,生成樣式一的簡(jiǎn)歷模板,查看簡(jiǎn)歷技巧,還可以選擇樣式二生成簡(jiǎn)歷模板,選擇簡(jiǎn)歷封面。模塊圖如圖3-2所示:</p><p> 圖3-3 登錄用戶(hù)功能模塊圖</p><p
46、> 3.2.3 管理員模塊</p><p> 管理員模塊:管理員管理模塊也就是網(wǎng)站的后臺(tái),主要工作是負(fù)責(zé)對(duì)用戶(hù)模塊和封面模塊的管理與維護(hù)。模塊圖如圖3-4所示:</p><p> 圖3-4 管理員模塊圖</p><p> 3.3 數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn)</p><p> 數(shù)據(jù)庫(kù)在系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的好壞將直
47、接對(duì)應(yīng)用系統(tǒng)的效率以及實(shí)現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)可以提高數(shù)據(jù)存儲(chǔ)的效率,保證數(shù)據(jù)的完整和一致。另外,合理的數(shù)據(jù)庫(kù)結(jié)構(gòu)將非常有利于程序的實(shí)現(xiàn)。設(shè)計(jì)數(shù)據(jù)庫(kù)系統(tǒng)時(shí)應(yīng)該首先充分了解用戶(hù)各個(gè)方面的需求,包括現(xiàn)有的以及將來(lái)可能增加的需求。</p><p> 3.3.1 數(shù)據(jù)庫(kù)設(shè)計(jì)原則</p><p> 在動(dòng)態(tài)網(wǎng)站的設(shè)計(jì)中,數(shù)據(jù)庫(kù)設(shè)計(jì)的重要性不言而喻。如果設(shè)計(jì)不當(dāng),查詢(xún)起來(lái)就非常吃力
48、,程序的性能也會(huì)受到影響。無(wú)論你使用的是MySQL或者Oracle數(shù)據(jù)庫(kù),通過(guò)進(jìn)行正規(guī)化的表格設(shè)計(jì),可以令你的PHP代碼更具可讀性,更容易擴(kuò)展,從而也會(huì)提升應(yīng)用的性能。</p><p><b> 1.合理使用索引 </b></p><p> 索引是數(shù)據(jù)庫(kù)中重要的數(shù)據(jù)結(jié)構(gòu),它的根本目的就是提高查詢(xún)效率。索引的使用要恰到好處,其使用原則如下: </p>
49、<p> 在經(jīng)常進(jìn)行連接,但是沒(méi)有指定為外鍵的列上建立索引,而不經(jīng)常連接的字段則由優(yōu)化器自動(dòng)生成索引;在頻繁進(jìn)行排序或分組(即進(jìn)行g(shù)roup by或order by操作)的列上建立索引;在條件表達(dá)式中經(jīng)常用到的不同值較多的列上建立索引,在不同值少的列上不要建立索引。比如在文檔表的“文檔類(lèi)型”列上只有“PHP教程”,“文獻(xiàn)書(shū)籍”,“學(xué)習(xí)網(wǎng)站”三個(gè)不同值,因此就無(wú)必要建立索引。如果建立索引不但不會(huì)提高查詢(xún)效率,反而會(huì)嚴(yán)重降低更新
50、速度。 如果待排序的列有多個(gè),可以在這些列上建立復(fù)合索引。 </p><p> 2. 避免或簡(jiǎn)化排序 </p><p> 應(yīng)當(dāng)盡量簡(jiǎn)化或避免對(duì)大型表進(jìn)行重復(fù)的排序。當(dāng)能夠利用索引自動(dòng)以適當(dāng)?shù)拇涡虍a(chǎn)生輸出時(shí),優(yōu)化器就避免了排序這個(gè)步驟。為了避免不必要的排序,就要正確地增建索引,合理地合并數(shù)據(jù)庫(kù)表(盡管有時(shí)可能影響表的規(guī)范化,但相對(duì)于效率的提高是值得的)。如果排序不可避免,那么應(yīng)當(dāng)試圖簡(jiǎn)化
51、它,如縮小排序的列的范圍等。 </p><p> 3.消除對(duì)大型表行數(shù)據(jù)的順序存取 </p><p> 在嵌套查詢(xún)中,表的順序存取對(duì)查詢(xún)效率可能產(chǎn)生致命的影響。我們有時(shí)可以使用并集來(lái)避免順序存取。盡管也許在所有的檢查列上都有索引,但某些形式的where子句會(huì)強(qiáng)迫優(yōu)化器使用順序存取,這一點(diǎn)也應(yīng)注意。 </p><p> 4. 避免相關(guān)子查詢(xún) </p>
52、<p> 如果一個(gè)列同時(shí)在主查詢(xún)和where子句中出現(xiàn),很可能當(dāng)主查詢(xún)中的列值改變之后,子查詢(xún)必須重新查詢(xún)一次。而且查詢(xún)嵌套層次越多,效率越低,因此應(yīng)當(dāng)盡量避免子查詢(xún)。如果子查詢(xún)不可避免,那么要在子查詢(xún)中過(guò)濾掉盡可能多的行。 </p><p> 5.使用臨時(shí)表加速查詢(xún) </p><p> 把表的一個(gè)子集進(jìn)行排序并創(chuàng)建臨時(shí)表,有時(shí)能加速查詢(xún)。它有助于避免多重排序操作,而且
53、在其他方面還能簡(jiǎn)化優(yōu)化器的工作。臨時(shí)表中的行要比主表中的行少,而且物理順序就是所要求的順序,減少了磁盤(pán)i/o,所以查詢(xún)工作量可以得到大幅減少。但要注意,臨時(shí)表創(chuàng)建后不會(huì)反映主表的修改。在主表中數(shù)據(jù)頻繁修改的情況下,注意不要丟失數(shù)據(jù)。</p><p> 3.3.2 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)</p><p> 數(shù)據(jù)庫(kù)的E-R圖反映了實(shí)體、實(shí)體的屬性和實(shí)體之間的聯(lián)系。</p>&l
54、t;p> 下面的圖3-5至圖3-11顯示的是各個(gè)實(shí)體以及實(shí)體的屬性。</p><p> 圖3-5 登錄用戶(hù)的實(shí)體及屬性</p><p> 圖3-6 簡(jiǎn)歷封面實(shí)體及屬性</p><p> 圖3-7 簡(jiǎn)歷基本信息實(shí)體及屬性</p><p> 圖3-8 簡(jiǎn)歷教育背景實(shí)體實(shí)體及屬性</p><p> 圖3-
55、9 用戶(hù)封面實(shí)體及屬性</p><p> 下面的圖3-10顯示的是系統(tǒng)E-R圖:</p><p> 圖3-10 系統(tǒng)E-R圖</p><p> 3.3.3 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)</p><p> 本系統(tǒng)數(shù)據(jù)庫(kù)為:resume,其中包含了五個(gè)MySQL數(shù)據(jù)表來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)的存儲(chǔ)、調(diào)用。以下為具體數(shù)據(jù)表模式:</p><
56、p> (1) 【用戶(hù)表】(用戶(hù)ID、用戶(hù)名、用戶(hù)密碼、密保問(wèn)題、密保問(wèn)題答案)</p><p> (2) 【簡(jiǎn)歷基本信息表】(簡(jiǎn)歷用戶(hù)ID、用戶(hù)名、簡(jiǎn)歷用戶(hù)名、性別、政治面貌、生日、身份證號(hào)碼、英語(yǔ)水平、計(jì)算機(jī)水平、聯(lián)系電話(huà)、通信地址、用戶(hù)頭像、求職意向、自我評(píng)價(jià)、email、專(zhuān)業(yè)、民族)</p><p> (3) 【用戶(hù)教育背景表】(用戶(hù)名、第一階段起始時(shí)間、第一階段結(jié)束時(shí)間
57、、學(xué)校一、學(xué)歷一、第二階段起始時(shí)間、第二階段結(jié)束時(shí)間、學(xué)校二、學(xué)歷二、第三階段起始時(shí)間、第三階段結(jié)束時(shí)間、學(xué)校三、學(xué)歷三、第四階段起始時(shí)間、第四階段結(jié)束時(shí)間、學(xué)校四、學(xué)歷四、第五階段起始時(shí)間、第五階段結(jié)束時(shí)間、學(xué)校五、學(xué)歷五、第六階段起始時(shí)間、第六階段結(jié)束時(shí)間、學(xué)校六、學(xué)歷六、第七階段起始時(shí)間、第七階段結(jié)束時(shí)間、學(xué)校七、學(xué)歷七)</p><p> (4) 【封面表】(封面id號(hào)、封面路徑)</p>
58、<p> (5) 【用戶(hù)封面表】(用戶(hù)名、封面路徑)</p><p> 其中,用下劃線(xiàn)標(biāo)出的屬性為表的主鍵屬性。各表的具體設(shè)計(jì)如表4-1~表4-7所示。</p><p> 根據(jù)E-R圖,設(shè)計(jì)每張表的變量名,變量的類(lèi)型及主鍵。</p><p> 1.Userpassword表</p><p> Userpassword表存
59、放用戶(hù)名、密碼、密保問(wèn)題和密保問(wèn)題答案。</p><p> 表4-1 userpassword表</p><p> 2.Userinfo表</p><p> Userinfo表存放用戶(hù)所有的簡(jiǎn)歷基本信息。</p><p> 表4-2 Userinfo表</p><p><b> 3. Edu表
60、</b></p><p> Edu表存放簡(jiǎn)歷用戶(hù)的教育背景。</p><p> 表4-3 edu表</p><p><b> 4.Cover表</b></p><p> Cover表存放簡(jiǎn)歷封面。</p><p> 表4-4 Cover表</p>&l
61、t;p> 5.Usercover表</p><p> Usercover表存放用戶(hù)選擇的封面。</p><p> 表4-5 Usercover表</p><p><b> 3.4 本章小結(jié)</b></p><p> 本章介紹了電子簡(jiǎn)歷系統(tǒng)的總體構(gòu)想,以及實(shí)現(xiàn)的主要功能。根據(jù)需求分析對(duì)模塊功能作了較為
62、詳細(xì)的介紹。最后介紹了數(shù)據(jù)庫(kù)的設(shè)計(jì)原則,分析了數(shù)據(jù)庫(kù)的概念與邏輯結(jié)構(gòu)設(shè)計(jì)。</p><p> 第四章 系統(tǒng)功能的具體實(shí)現(xiàn)</p><p> 4.1 系統(tǒng)前臺(tái)設(shè)計(jì)</p><p> 4.1.1 系統(tǒng)前臺(tái)首頁(yè)</p><p> 圖4-1 電子簡(jiǎn)歷系統(tǒng)主頁(yè)面</p><p> 4.1.2 會(huì)員登錄設(shè)計(jì)&l
63、t;/p><p> 已注冊(cè)會(huì)員可以用用戶(hù)名和密碼登錄系統(tǒng)。</p><p> SESSION和COOKIE的區(qū)別:</p><p> Session:在計(jì)算機(jī)中,尤其是在網(wǎng)絡(luò)應(yīng)用中,稱(chēng)為“會(huì)話(huà)”。</p><p> Session是存在服務(wù)器端的,而Cookie是存在客戶(hù)端的。</p><p> Session是
64、存在內(nèi)存中的,瀏覽器關(guān)閉它也就“死”了;Cookie是以文件方式存在的,可以修改其“存活”時(shí)間。</p><p> Cookie是Web服務(wù)器保存在用戶(hù)硬盤(pán)上的一段文本。Cookie允許一個(gè)Web站點(diǎn)在用戶(hù)的電腦上保存信息并且隨后再取回它??梢栽O(shè)置其存在時(shí)間。</p><p> 在本系統(tǒng)中,判斷用戶(hù)是否登錄則使用SESSION判斷,如果登錄成功,則在服務(wù)端創(chuàng)建SESSION,并將其用戶(hù)
65、名保存在其中。</p><p> 圖4-2 登錄驗(yàn)證頁(yè)面</p><p> 在系統(tǒng)用戶(hù)登錄的時(shí)候,用戶(hù)需要輸入用戶(hù)名和密碼及驗(yàn)證碼進(jìn)行數(shù)據(jù)庫(kù)登錄驗(yàn)證。用戶(hù)必須輸入用戶(hù)名和密碼以及驗(yàn)證碼。否則將彈出對(duì)話(huà)框進(jìn)行提示。</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('用戶(hù)名不得為空')</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、;   你已經(jīng)成功登錄!<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 "你還沒(méi)有注冊(cè)輕松簡(jiǎn)歷&quo
75、t;;</p><p><b> } } }} </b></p><p><b> ?></b></p><p><b> 會(huì)員注冊(cè)設(shè)計(jì)</b></p><p> 在普通瀏覽者注冊(cè)會(huì)員時(shí),需要填寫(xiě)用戶(hù)名,密碼,重復(fù)密碼,密碼保護(hù)問(wèn)題,密碼保護(hù)問(wèn)題答案,這些信
76、息。只有規(guī)范填寫(xiě)注冊(cè)信息才能注冊(cè)會(huì)員,否則將彈出對(duì)話(huà)框進(jìn)行提示。該功能采用Javascript腳本進(jìn)行判斷,以減輕數(shù)據(jù)庫(kù)的壓力。</p><p> 圖4-3 注冊(cè)驗(yàn)證頁(yè)面</p><p> 判斷輸入是否規(guī)范是通過(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("用戶(hù)名不合法"); </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個(gè)字符"); </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> 填寫(xiě)簡(jiǎn)歷信息設(shè)計(jì)</b></p><p> 用戶(hù)登錄成功后,點(diǎn)擊“填寫(xiě)簡(jiǎn)歷”,便進(jìn)入填寫(xiě)簡(jiǎn)歷信息的頁(yè)面,見(jiàn)圖4-5</p><p> 圖4-5 填寫(xiě)
85、簡(jiǎn)歷信息頁(yè)面</p><p> 判斷各項(xiàng)輸入是否規(guī)范是通過(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])$/ ; //身份證號(hào)碼的正則表達(dá)式</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))$/; //年月日的正則表達(dá)式</p><p>
88、 if(document.getElementById('birth').value==""||!type_birth.test(document.getElementById('birth').value)) </p><p><b> {</b></p><p> alert('請(qǐng)檢查你的出生年月
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('請(qǐng)輸入身份證號(hào)碼并確認(rèn)其合法性'); </p><p> return false; </p><p><b> }</b></p>
91、<p><b> ………………</b></p><p><b> 選擇封面設(shè)計(jì)</b></p><p> 用戶(hù)登錄成功后,首頁(yè)滾動(dòng)的封面可以鏈接到選擇封面的頁(yè)面,用戶(hù)選擇封面之前可以點(diǎn)擊按鈕“瀏覽”查看封面效果,如圖4-6所示</p><p> 圖4-6 瀏覽封面效果頁(yè)面</p><
92、;p> 用戶(hù)簡(jiǎn)歷上的姓名和專(zhuān)業(yè)是通過(guò)函數(shù)imagejpeg();實(shí)現(xiàn)的,具體代碼如下:</p><p> $im=imagecreatefromjpeg($filename);</p><p> $s1="姓名:";</p><p> $s2="專(zhuān)業(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)后臺(tái)設(shè)計(jì)</p><p> 管理員輸入管理員名稱(chēng)和密碼,進(jìn)入系統(tǒng)后臺(tái)。</p><p> 系統(tǒng)后臺(tái)用戶(hù)管理設(shè)計(jì)</p><p> ?。?)管理員成功登錄后臺(tái)后,就進(jìn)入到用戶(hù)管理頁(yè)面。管理員可查看用戶(hù)信息,可以刪除用戶(hù)。用戶(hù)管理頁(yè)面見(jiàn)圖4-5</p>
100、;<p> 圖4-5 系統(tǒng)后臺(tái)用戶(hù)管理頁(yè)面</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 后臺(tái)封面管理</p><p><b> 查看所有封面 </b></p><p> 管理員成功登錄以后,就進(jìn)入系
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 小結(jié)</b></p><p> 本章詳細(xì)介紹了電子簡(jiǎn)歷系統(tǒng)幾個(gè)主要模塊的設(shè)計(jì)思想及代碼復(fù)用,JavaScript等相關(guān)技術(shù)的實(shí)現(xiàn),并提供了樣
117、圖進(jìn)行展示。</p><p><b> 第五章 總 結(jié)</b></p><p> 經(jīng)過(guò)這一個(gè)多月的不斷學(xué)習(xí)和對(duì)相關(guān)資料的收集,經(jīng)過(guò)了嚴(yán)格的測(cè)試,電子簡(jiǎn)歷系統(tǒng)的大部分功能順利的完成了。</p><p> 由于在此之前對(duì)于PHP知識(shí)的掌握不是很牢固,所以從一開(kāi)始就碰到許多困難。在整個(gè)設(shè)計(jì)階段,我覺(jué)得對(duì)系統(tǒng)進(jìn)行需求分析,系統(tǒng)的總體設(shè)計(jì)和詳細(xì)設(shè)
118、計(jì)是非常重要的階段。當(dāng)這些工作完成系統(tǒng),才是編寫(xiě)代碼,實(shí)現(xiàn)功能的過(guò)程。在整個(gè)系統(tǒng)開(kāi)發(fā)的過(guò)程中,我嘗到了粗心的惡果。這個(gè)系統(tǒng)的功能不多,可是我花了很多的時(shí)間,為什么呢??jī)蓚€(gè)字——粗心。經(jīng)常寫(xiě)錯(cuò)變量,無(wú)法顯示數(shù)據(jù)。在數(shù)據(jù)庫(kù)方面的操作更是花了不少冤枉時(shí)間。比如有一次從table中讀數(shù)據(jù)寫(xiě)到數(shù)據(jù)庫(kù)中,可是老是寫(xiě)不進(jìn)去,為了找這個(gè)原因,我重新創(chuàng)建數(shù)據(jù)庫(kù)中的表,查找是否有變量的拼寫(xiě)錯(cuò)誤……結(jié)果是因?yàn)槲以谝x的數(shù)據(jù)前后加了空格,當(dāng)初是為了在頁(yè)面中對(duì)齊
119、,所以總是寫(xiě)不進(jìn)數(shù)據(jù)庫(kù)。</p><p> 通過(guò)這次學(xué)習(xí)網(wǎng)站的開(kāi)發(fā),讓我對(duì)PHP編程、MYSQL數(shù)據(jù)庫(kù)、超文本標(biāo)記語(yǔ)言HTML和JavaScript語(yǔ)言等有了更深的了解,應(yīng)用起來(lái)更加得心應(yīng)手。在網(wǎng)站開(kāi)發(fā)方面我也積累了一些經(jīng)驗(yàn),取得了一些進(jìn)步,但是在某些方面還存在一些不足。比如:系統(tǒng)功能太過(guò)單一,頁(yè)面美工設(shè)計(jì)還有一些不足,跟一些知名網(wǎng)站還是有一定的差距。在以后的學(xué)習(xí)道路上,我還要不斷的學(xué)習(xí),努力的學(xué)習(xí),對(duì)PHP還
120、要繼續(xù)鉆研下去。</p><p><b> 參考文獻(xiàn)</b></p><p> [1]LukeWelling ,Laura Thomson等編著.《PHP和MySQL Web開(kāi)發(fā)》. 機(jī)械工業(yè)出版</p><p> [2] 葉昌福編著.《PHP函數(shù)庫(kù)查詢(xún)辭典》中國(guó)鐵道出版社</p><p> [3] 劉端陽(yáng),郭偉
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子琴課程設(shè)計(jì)---電子琴的設(shè)計(jì)與實(shí)現(xiàn)
- 電子裝置與系統(tǒng)設(shè)計(jì)課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)---網(wǎng)站管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 課程設(shè)計(jì)---網(wǎng)上購(gòu)物系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 課程設(shè)計(jì)---貿(mào)易管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 【課程設(shè)計(jì)】汽車(chē)租賃系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 網(wǎng)上考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)課程設(shè)計(jì)
- 機(jī)房監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)課程設(shè)計(jì)
- 課程設(shè)計(jì)--宿舍管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 簡(jiǎn)歷管理信息系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)---網(wǎng)上購(gòu)物系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 課程設(shè)計(jì)---紅外遙控電子密碼鎖的設(shè)計(jì)與實(shí)現(xiàn)
- 課程設(shè)計(jì)---簡(jiǎn)易電子琴電路的設(shè)計(jì)仿真與實(shí)現(xiàn)
- 課程設(shè)計(jì)-庫(kù)存物資管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 文件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 課程設(shè)計(jì)報(bào)告
- java課程設(shè)計(jì)--超市管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 課程設(shè)計(jì)報(bào)告--校園導(dǎo)游系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 課程設(shè)計(jì)報(bào)告--模擬通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 網(wǎng)絡(luò)課程設(shè)計(jì)---簡(jiǎn)單聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- eda課程設(shè)計(jì)與實(shí)現(xiàn)--鬧鈴系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)
評(píng)論
0/150
提交評(píng)論