PHP網(wǎng)上人才招聘系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
PHP網(wǎng)上人才招聘系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
PHP網(wǎng)上人才招聘系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
PHP網(wǎng)上人才招聘系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
PHP網(wǎng)上人才招聘系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、天津工業(yè)大學(xué)天津工業(yè)大學(xué) 畢業(yè)畢業(yè)設(shè)計(jì)設(shè)計(jì) phpphp 網(wǎng)上人才招聘系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)網(wǎng)上人才招聘系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 姓姓 名名 學(xué)學(xué) 院院 計(jì)算機(jī)科學(xué)與軟件學(xué)院計(jì)算機(jī)科學(xué)與軟件學(xué)院 專專 業(yè)業(yè) 指導(dǎo)教師指導(dǎo)教師 職職 稱稱 講師講師 2013 年 5 月 12 日 摘 要 隨著電子商務(wù)技術(shù)的興起,網(wǎng)上招聘逐漸地被人們認(rèn)識(shí)和接受。近年來越 來越多的大學(xué)畢業(yè)生面臨著找工作的壓力,已經(jīng)有許多求職者通過網(wǎng)上招聘的 方式找尋工作。在線人才招聘系統(tǒng)的出現(xiàn)解決了部分大學(xué)生的就業(yè)問題,提供 了可靠的招聘途徑,為求職者和用人單位提供了廣闊的展現(xiàn)空間。 本課題主要是以 php 作為前臺(tái)開發(fā)工具,利用 mysql

2、作為后臺(tái)數(shù)據(jù)庫的 技術(shù)來實(shí)現(xiàn)網(wǎng)上人才招聘系統(tǒng)。該網(wǎng)絡(luò)人才招聘系統(tǒng)提供了豐富的功能,包括 個(gè)人求職、企業(yè)招聘、文章發(fā)布、用戶注冊(cè)、職位信息管理、檢索導(dǎo)航、后臺(tái) 管理等功能,滿足用戶與用人單位之間的信息交互需求。 本文重點(diǎn)介紹了網(wǎng)上人才招聘系統(tǒng)的功能實(shí)現(xiàn)方法以及關(guān)鍵技術(shù)。 關(guān)鍵詞:關(guān)鍵詞:php;系統(tǒng);數(shù)據(jù)庫 目 錄 前 言.1 第一章系統(tǒng)功能分析與總體設(shè)計(jì).2 1.1 系統(tǒng)初步調(diào)查.2 1.2 系統(tǒng)可行性分析.3 1.2.1 必要性.3 1.2.2 可能性.4 1.3 非功能性需求分析.5 1.4 總體設(shè)計(jì).5 第二章 項(xiàng)目開發(fā)的技術(shù)準(zhǔn)備.7 2.1php 的簡(jiǎn)介.7 2.2mysql 的簡(jiǎn)介.

3、7 2.3apache的簡(jiǎn)介.8 第三章 數(shù)據(jù)庫設(shè)計(jì)與實(shí)現(xiàn).9 3.1 數(shù)據(jù)庫需求分析.9 3.2 數(shù)據(jù)庫邏輯設(shè)計(jì).10 3. 3 數(shù)據(jù)庫索引設(shè)計(jì) .14 第四章 系統(tǒng)目錄機(jī)構(gòu)與公共模塊設(shè)計(jì).16 4.1 系統(tǒng)目錄結(jié)構(gòu).16 4.2 數(shù)據(jù)庫連接類 dataaccess設(shè)計(jì).17 4. 3 錯(cuò)誤處理頁面設(shè)計(jì) .19 第五章 后臺(tái)頁面設(shè)計(jì).21 5.1 后臺(tái)登錄頁面設(shè)計(jì).21 5.2 檢測(cè)后臺(tái)用戶是否登錄.22 5.3 企業(yè)信息管理設(shè)計(jì).22 5.4 個(gè)人信息管理設(shè)計(jì).25 5.5 管理員密碼修改.27 5.6 如何用 php 發(fā)送 html 格式的郵件.29 第六章 系統(tǒng)測(cè)試.32 6.1 引言

4、.32 6.2 測(cè)試計(jì)劃.32 6.3 測(cè)試內(nèi)容說明.32 6.3.1 測(cè)試分析報(bào)告.33 6.4 系統(tǒng)安裝.34 第七章 結(jié) 論.35 參考文獻(xiàn).36 致 謝.37 天津工業(yè)大學(xué) 2013 屆高職生畢業(yè)設(shè)計(jì) 1 前 言 上世紀(jì) 90 年代以來,隨著計(jì)算機(jī)網(wǎng)絡(luò)、通信和信息技術(shù)突破性進(jìn)展, internet 在全球爆炸性增長(zhǎng)并迅速普及。由于網(wǎng)絡(luò)方便快捷的特點(diǎn),網(wǎng)絡(luò)逐漸成 為人們工作和生活的一種工具。 中國是迅速崛起的發(fā)展中大國,尤其是改革開放三十年,中國在各領(lǐng)域都 取得了突破性進(jìn)展,互聯(lián)網(wǎng)也不例外。中國又是世界人口最多的國家,隨著經(jīng) 濟(jì)的發(fā)展,城市化步伐的加快,求職者隊(duì)伍不斷壯大。傳統(tǒng)的人才招聘

5、,對(duì)求 職者來說,費(fèi)時(shí)費(fèi)力;對(duì)招聘單位來說,舉辦招聘會(huì)需要花費(fèi)大量經(jīng)費(fèi)。所以 在當(dāng)今互聯(lián)網(wǎng)已經(jīng)成為人們生活一部分的社會(huì)里,越來越多的個(gè)人選擇通過網(wǎng) 絡(luò)輕點(diǎn)鼠標(biāo)尋求工作,越來越多的企業(yè)也開始選擇網(wǎng)絡(luò)進(jìn)行招聘。 網(wǎng)上人才招聘系統(tǒng)是先進(jìn)的計(jì)算機(jī)科學(xué)技術(shù)和現(xiàn)代招聘理念相結(jié)合的產(chǎn)物, 通過使用以計(jì)算機(jī)網(wǎng)絡(luò)為基礎(chǔ)的網(wǎng)上人才招聘系統(tǒng),滿足了求職者和招聘企業(yè) 雙向的要求,網(wǎng)上人才招聘系統(tǒng)收集大量招聘單位的招聘信息,它使網(wǎng)上招聘 從盲目的網(wǎng)絡(luò)職位搜索到有序大量的職位投遞,從混亂變?yōu)橐?guī)范,而且成功率 較高。 網(wǎng)上人才招聘系統(tǒng)實(shí)現(xiàn)了人才招聘的一些主要功能,如用戶注冊(cè)功能:用 戶需先進(jìn)行會(huì)員注冊(cè),成功后進(jìn)行相關(guān)操作;

6、職位信息管理功能:用人單位可 以在系統(tǒng)上發(fā)布相關(guān)信息,系統(tǒng)會(huì)對(duì)信息進(jìn)行歸類管理;檢索導(dǎo)航功能:用戶 可以根據(jù)自己意愿搜尋相關(guān)的工作;在線求職招聘功能:用戶可以在搜索結(jié)果 中尋找合適的單位投遞個(gè)人簡(jiǎn)歷;人才信息管理功能:系統(tǒng)會(huì)對(duì)用戶的信息, 包括個(gè)人信息,個(gè)人簡(jiǎn)歷等進(jìn)行統(tǒng)一管理。 系統(tǒng)用戶包括個(gè)人用戶、企業(yè)用戶和管理員用戶。個(gè)人用戶可以完成人才 招聘的相關(guān)過程,包括生成簡(jiǎn)歷、投遞簡(jiǎn)歷等;企業(yè)用戶可以完成錄用的相關(guān) 過程,包括企業(yè)收藏個(gè)人簡(jiǎn)歷、發(fā)布招聘信息等;管理員用戶具有更高的權(quán)限, 可以添加和刪除職位信息,刪除違規(guī)用戶等操作,整個(gè)系統(tǒng)外觀和諧,操作較 為人性化。 天津工業(yè)大學(xué) 2013 屆高職

7、生畢業(yè)設(shè)計(jì) 2 第一章系統(tǒng)功能分析與總體設(shè)計(jì) 系統(tǒng)分析,是指在網(wǎng)上人才招聘系統(tǒng)開發(fā)的生命周期中系統(tǒng)分析階段的各 項(xiàng)活動(dòng)和方法,也指應(yīng)用系統(tǒng)思想和系統(tǒng)科學(xué)原理進(jìn)行分析工作的方法和技術(shù)。 系統(tǒng)分析可以劃分為一下幾個(gè)工作階段:系統(tǒng)的初步調(diào)查、系統(tǒng)的可行性 研究、現(xiàn)行系統(tǒng)的詳細(xì)調(diào)查等。 1.11.1 系統(tǒng)初步調(diào)查系統(tǒng)初步調(diào)查 如今高科技和計(jì)算機(jī)的飛速發(fā)展,給人們帶來了更多的便利,點(diǎn)奧普及時(shí) 代已經(jīng)到來,網(wǎng)絡(luò)技術(shù)也在主鍵完善,人們的生活已經(jīng)開始發(fā)生重要的變革, 效率已經(jīng)成為各個(gè)企業(yè)生存的首要條件,更好更快的使用和了解相關(guān)的信息, 以及處理更多更繁瑣的失誤便是我們?cè)O(shè)計(jì)網(wǎng)上人才招聘系統(tǒng)的初衷。 在線人招聘網(wǎng)

8、站是基于 b/s 架構(gòu)的系統(tǒng),為了能夠提供良好的交互環(huán)境, 需要對(duì)網(wǎng)站進(jìn)行整體的分析設(shè)計(jì),并且能夠獲取到網(wǎng)站的非功能需求,如系統(tǒng) 的用戶界面設(shè)計(jì)、用戶的響應(yīng)要求等。從功能性與非功能性兩方面出發(fā)分析系 統(tǒng)的需求。 本系統(tǒng)主要用于企業(yè)用戶與求職者查閱對(duì)方的信息,實(shí)現(xiàn)供求雙方的交互, 提供對(duì)熱點(diǎn)新聞、技巧文章的瀏覽和查詢功能。 主要功能描述如下。 1. 企業(yè)招聘功能 企業(yè)注冊(cè)為網(wǎng)站用戶后,可以在本網(wǎng)站上發(fā)布企業(yè)概況、職位信息,查詢 人才簡(jiǎn)歷和新聞資訊,并能夠收入企業(yè)人才庫;如果匿名登錄,只能查詢?nèi)瞬?的基本信息,不能查看人才的聯(lián)系方式。此外企業(yè)用戶能夠?qū)Ρ酒髽I(yè)的基本信 息、職位信息進(jìn)行維護(hù)。 2.

9、個(gè)人求職功能 求職者在投遞簡(jiǎn)歷前必須先注冊(cè)為網(wǎng)站的會(huì)員,如果匿名登錄,只能查詢 職位的基本信息,不能查看聯(lián)系方式。求職者注冊(cè)為網(wǎng)站用戶后提供查詢職 位、制作簡(jiǎn)歷、投遞簡(jiǎn)歷的功能。求職者可以根據(jù)職位類別、職位關(guān)鍵字和 工作省份查詢職位,還可以查看哪些企業(yè)收藏了自己的簡(jiǎn)歷。此外,求職者 可以對(duì)自己的基本資料、個(gè)人技能、求職意向等信息進(jìn)行維護(hù)。 3. 新聞資訊功能 系統(tǒng)管理員可以發(fā)布新聞、文章,讓求職者與招聘者能及時(shí)了解職場(chǎng)相關(guān) 天津工業(yè)大學(xué) 2013 屆高職生畢業(yè)設(shè)計(jì) 3 信息,獲取求職經(jīng)驗(yàn)和相關(guān)的政策法規(guī)。 4. 后臺(tái)管理功能 后臺(tái)管理包括企業(yè)信息管理、求職者信息管理、帳號(hào)管理、密碼管理等功 能

10、。網(wǎng)站管理員通過后臺(tái)登錄,審核網(wǎng)站的注冊(cè)信息,管理用戶的使用權(quán)限, 對(duì)企業(yè)和隔熱的信息要進(jìn)行檢查,提供修改管理的功能,并能夠設(shè)置企業(yè)和求 職者的 vip 權(quán)限。 1.21.2 系統(tǒng)可行性分析系統(tǒng)可行性分析 系統(tǒng)可行性分析是根據(jù)系統(tǒng)的環(huán)境、資源等條件,判斷所提出的信息系統(tǒng) 項(xiàng)目是否有必要、有可能開始進(jìn)行,它的目標(biāo)是:進(jìn)一步明確系統(tǒng)的目標(biāo)、規(guī) 模與功能,對(duì)系統(tǒng)開發(fā)背景、必要性和意義進(jìn)行調(diào)查分析并根據(jù)需要和可能提 出擬開發(fā)系統(tǒng)的初步方案和計(jì)劃。 .1 必要性必要性 在可行性分析中,首先要分析和論證開發(fā)系統(tǒng)的必要性,根據(jù)對(duì)現(xiàn)行存在 系統(tǒng)的問題分析,我們可以從下面總結(jié)分析建設(shè)網(wǎng)上人才招聘

11、系統(tǒng)的必要性: (1)顯見的必要性 網(wǎng)上人才招聘系統(tǒng)的建立,能夠顯著地提高求職者工作效率和減輕跑招聘 會(huì)的勞頓、提高投遞的數(shù)量和成功率、是的只要有網(wǎng)絡(luò)就能夠找工作,從而更 有效地完成了招聘事宜。 (2)預(yù)見的必要性 隨著社會(huì)的發(fā)展,城市化步伐的加快,找工作是每個(gè)人的需求,社會(huì)分工 的明確,對(duì)勞動(dòng)效率要求的不斷提高,簡(jiǎn)單且高效的招聘系統(tǒng)必然受到人們的 廣泛關(guān)注和青睞。此外,對(duì)用人單位來說,網(wǎng)絡(luò)招聘的成本更低。通過網(wǎng)絡(luò), 可以節(jié)省大量的差旅費(fèi)用。所以,成本低這一特點(diǎn)使得網(wǎng)絡(luò)招聘受到廣泛的喜 愛。 (3)隱見的必要性 從宏觀上、戰(zhàn)略上考慮網(wǎng)上人才招聘系統(tǒng)能夠?yàn)閲胰肆Y源部服務(wù),更 好地解決人才需求

12、問題,為人力資源的調(diào)配起到積極的促進(jìn)作用,所以這必定 會(huì)得到政府部門的大力支持。 .2 可能性可能性 上面對(duì)“要不要”建立一個(gè)新系統(tǒng)進(jìn)行了分析,下面從一下三方面對(duì)“能 天津工業(yè)大學(xué) 2013 屆高職生畢業(yè)設(shè)計(jì) 4 不能”實(shí)現(xiàn)新系統(tǒng)目標(biāo)進(jìn)行可行性分析: (1)技術(shù)可行性 技術(shù)可行性,一般可從硬軟件條件、開發(fā)環(huán)境條件、技術(shù)人員水平等方面 去考慮和分析。 現(xiàn)代化計(jì)算機(jī)發(fā)展日星月異,在各行各業(yè)有廣泛使用,而 php 東戴網(wǎng)站設(shè) 計(jì)語言、dreamweaver 網(wǎng)頁制作工具以及 mysql 數(shù)據(jù)庫都是系統(tǒng)開發(fā)的優(yōu)秀 軟件工具,完全能滿足開發(fā)此網(wǎng)上人才招聘系統(tǒng)的各項(xiàng)技術(shù)指標(biāo),這說明技術(shù) 方

13、面是可行的。 (2)經(jīng)濟(jì)可行性 經(jīng)濟(jì)的可行性主要是對(duì)組織的經(jīng)濟(jì)狀況和投資能力進(jìn)行分析,對(duì)系統(tǒng)建設(shè)、 運(yùn)行和維護(hù)費(fèi)用進(jìn)行估算,對(duì)系統(tǒng)建成后可能取得的社會(huì)及經(jīng)濟(jì)效益進(jìn)行估計(jì)。 首先,網(wǎng)上人才招聘系統(tǒng)不僅可以讓求職者省時(shí)省力,而且可以實(shí)現(xiàn)低成 本,這必然會(huì)受到求職者的青睞,因此作為網(wǎng)上人才招聘工作中的核心和基礎(chǔ) php 網(wǎng)上人才招聘系統(tǒng),它的經(jīng)濟(jì)狀況和投資能力完全可行。 其次,分析系統(tǒng)的開發(fā)、運(yùn)行和維護(hù)費(fèi)用,主要包括軟硬件設(shè)施、開發(fā)費(fèi) 用、人員費(fèi)用、材料費(fèi)用等。這項(xiàng)設(shè)計(jì)由學(xué)生開發(fā),所以相比一個(gè)大型的軟件 開發(fā)費(fèi)用,是比較低廉的。 關(guān)于系統(tǒng)建成后肯能取得的經(jīng)濟(jì)效益方面,可以結(jié)合上面提及的顯見、預(yù) 見、

14、隱見三個(gè)必要性方面來考慮,可以分析得知,系統(tǒng)的建成會(huì)給求職者和用 人單位帶來極其大的利益。 (3)運(yùn)行可行性 作為可能性分析的第三點(diǎn),是要分析系統(tǒng)對(duì)組織機(jī)構(gòu)的影響,包括對(duì)職位 信息的管理、對(duì)用戶和管理員操作權(quán)限設(shè)置、簡(jiǎn)歷生成和用戶信息等的可行性。 通過以上可行性的研究,我們認(rèn)為條件大致成熟,可以進(jìn)行系統(tǒng)的研制工 作。 1.1.3 3 非功能性需求分析非功能性需求分析 非功能性需求不一定能解決系統(tǒng)的業(yè)務(wù)功能,但是它解決的是“如何使系 統(tǒng)能在實(shí)際環(huán)境中運(yùn)行” 。如果用戶不能夠從他們可用額渠道(如 ie)方便地 訪問需要的服務(wù),那么這樣的系統(tǒng)將是失敗的。非功能性需求常常被忽視,以 致于整個(gè)項(xiàng)目處于危

15、險(xiǎn)狀態(tài)。在建設(shè)網(wǎng)站時(shí),必須考慮到響應(yīng)時(shí)間、有好操作、 用戶權(quán)限等非功能性因素。此外網(wǎng)站要求不間斷地運(yùn)行,提供全天候的服務(wù), 天津工業(yè)大學(xué) 2013 屆高職生畢業(yè)設(shè)計(jì) 5 方便用戶隨時(shí)使用。 響應(yīng)時(shí)間是衡量一個(gè)站點(diǎn)負(fù)載能力的重要指標(biāo),用戶對(duì)在線系統(tǒng)響應(yīng)速度 有較高的要求,一般互聯(lián)網(wǎng)用戶的平均等待時(shí)間在 5 秒左右,注冊(cè)反應(yīng)時(shí)間不 能超過 3 秒。網(wǎng)站應(yīng)該提供良好的用戶界面,如用戶注冊(cè)模塊,在填寫用戶名 或密碼時(shí)需要提供提示性的文字,說明輸入的約束。用戶可能使用各種瀏覽器 訪問網(wǎng)站,需要考慮各種瀏覽器是否支持腳本語言所使用的函數(shù),例如 javascript 獲取用戶輸入的鍵值,提供 ie 和 fi

16、refox 兩個(gè)版本的方法,ie 使用 e.keycode 獲取鍵值,而 firefox 使用 e.which 獲取。 1.41.4 總體設(shè)計(jì)總體設(shè)計(jì) 網(wǎng)上人才招聘系統(tǒng)的開發(fā)任務(wù)是實(shí)現(xiàn)人才招聘的相關(guān)事宜,從用戶角度, 完成個(gè)人登陸、簡(jiǎn)歷生成、搜索職位到投遞個(gè)人簡(jiǎn)歷等相關(guān)操作;從管理員角 度,完成對(duì)職位信息的管理、職位信息的添加刪除、對(duì)系統(tǒng)用戶信息的管理、 違規(guī)用戶的刪除等操作。 根據(jù)系統(tǒng)功能分析,在線人才招聘系統(tǒng)分為四大模塊:企業(yè)招聘、個(gè)人求 職、職場(chǎng)文章、后臺(tái)管理,如圖 1-1 所示是整個(gè)系統(tǒng)的頁面邏輯結(jié)構(gòu)示意圖。 天津工業(yè)大學(xué) 2013 屆高職生畢業(yè)設(shè)計(jì) 6 圖 1-1 系統(tǒng)的頁面邏輯結(jié)構(gòu)

17、示意圖 天津工業(yè)大學(xué) 2013 屆高職生畢業(yè)設(shè)計(jì) 7 第二章 項(xiàng)目開發(fā)的技術(shù)準(zhǔn)備 該系統(tǒng)才用了 dreamweaver 作為前臺(tái)開發(fā)工具,以 php 作為后臺(tái)開發(fā)語言, 以 mysql 作為后臺(tái)數(shù)據(jù)庫,以 apache 作為服務(wù)器。本章主要介紹 php、mysql 數(shù)據(jù)庫和 apache 服務(wù)器。 2.1php2.1php 的簡(jiǎn)介的簡(jiǎn)介 php,是英文超級(jí)文本預(yù)處理語言 hypertext preprocessor 的縮寫。php 是 一種 html 內(nèi)嵌式的語言,是一種在服務(wù)器端執(zhí)行的潛入 html 文檔的腳本語 言,語言的風(fēng)格有類似于 c 語言,被廣泛的運(yùn)用。php 的另一個(gè)含義是:菲律

18、賓比索的標(biāo)準(zhǔn)符號(hào)。php 獨(dú)特的語法混合了 c、java、perl 以及 php 自創(chuàng)新的 語法。它可以比 cgi 或者 perl 更快速的執(zhí)行動(dòng)態(tài)網(wǎng)頁。用 php 做出的動(dòng)態(tài)網(wǎng) 頁與其他的編程語言相比,php 是將程序嵌入到 html 文檔中去執(zhí)行,執(zhí)行效 率比完全生成 html 標(biāo)記的 cgi 要高出許多;php 還可以執(zhí)行編譯后代碼。 php 的主要特點(diǎn)如下: (1)開房的源代碼:所有的 php 源代碼事實(shí)上都可以得到,且 php 是免費(fèi)的。 (2)php 的便捷性:php 十分便捷,學(xué)習(xí)簡(jiǎn)單基于服務(wù)器端;由于 php 是運(yùn)行在服務(wù)器端的腳本,可以運(yùn)行在 unix、linux、windo

19、ws 下。 (3)嵌入 html:因?yàn)?php 可以嵌入 html 語言,所以學(xué)習(xí)起來并 不困難。 (4)簡(jiǎn)單的語言:php 堅(jiān)持腳本語言為主,與 java 和 c+不同,效 率高;php 小浩相當(dāng)少的系統(tǒng)資源。 (5)圖像處理:用 php 動(dòng)態(tài)創(chuàng)建圖像面向?qū)ο蟆?(6)php 相對(duì)于其他語言,編輯簡(jiǎn)單,實(shí)用性強(qiáng),更適合初學(xué)者。 2.2mysql2.2mysql 的簡(jiǎn)介的簡(jiǎn)介 mysql 是一個(gè)小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典 mysql ab 公 司。在 2008 年 1 月 16 日被 sun 公司收購,而 2009 年,sun 又被 oracle 收購, 對(duì)于 mysql 的前途,

20、沒有任何人抱樂觀的態(tài)度,目前 mysql 被廣泛地應(yīng)用在 internet 上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是 天津工業(yè)大學(xué) 2013 屆高職生畢業(yè)設(shè)計(jì) 8 開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了 mysql 作為網(wǎng)站數(shù)據(jù)庫。 mysql 的主要特點(diǎn)如下: (1)使用 c 和 c+編寫,并使用了多種編譯器進(jìn)行測(cè)試,保證源代 碼的可移植性。 (2)支持 aix、freebsd、hp-ux、linux、mac os、novell netware、openbsd、os/2wrap、solaris、windows 等多種操 作系統(tǒng)。 (3)為多種編

21、程語言提供了 api。這些編程語言包括 c、c+、python、java、perl、php、eiffel、ruby 和 tcl 等。 (4)支持多線程,充分利用 cpu 資源。 (5)優(yōu)化的 sql 查詢查詢算法,有效地提高查詢速度。 (6)提供 tcp/ip、odbc 和 jdbc 等多種數(shù)據(jù)庫連接途徑。 (7)提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫操作的管理工具。 (8)可以處理擁有上千萬條記錄的大型數(shù)據(jù)庫。 2.3apache2.3apache 的簡(jiǎn)介的簡(jiǎn)介 apache 是世界使用排名第一的 web 服務(wù)器軟件。它可以運(yùn)行在幾乎所有 廣泛使用的計(jì)算機(jī)平臺(tái)上,由于其跨平臺(tái)和安全性被廣泛使用,是最

22、流行的 web 服務(wù)器端軟件之一。apache 源于 ncsahttpd 服務(wù)器,經(jīng)過多次修改,成 為世界上最流行的 web 服務(wù)器軟件之一。apache 取自“a patchy server”的讀音, 意思是充滿補(bǔ)丁的服務(wù)器,因?yàn)樗亲杂熊浖?,所以不斷有人來為它開發(fā)新的 功能、新的特性、修改原來的缺陷。apache 的特點(diǎn)是簡(jiǎn)單、速度快、性能穩(wěn)定、 并可做代理服務(wù)器來使用。 apache 的主要特點(diǎn)如下: (1) 支持最新的 http/1.1 通信協(xié)議。 (2) 擁有簡(jiǎn)單而強(qiáng)有力的基于文件的配置過程。 (3) 支持通用網(wǎng)關(guān)接口。 (4) 支持基于 ip 和基于域名的虛擬主機(jī)。 (5) 支持多

23、種方式的 http 認(rèn)證。 (6) 集成 perl 處理模塊。 天津工業(yè)大學(xué) 2013 屆高職生畢業(yè)設(shè)計(jì) 9 第三章 數(shù)據(jù)庫設(shè)計(jì)與實(shí)現(xiàn) 本章主要分析數(shù)據(jù)庫的表結(jié)構(gòu)以及它們之間的關(guān)系,對(duì)數(shù)據(jù)庫的設(shè)計(jì)是整 個(gè)人才招聘系統(tǒng)實(shí)現(xiàn)的基礎(chǔ),為了達(dá)到一定額性能要求,對(duì)數(shù)據(jù)庫的表結(jié)構(gòu)需 要有良好的設(shè)計(jì)。一般數(shù)據(jù)庫的分析設(shè)計(jì)過程分為 3 個(gè)部分:需求設(shè)計(jì)、邏輯 設(shè)計(jì)、數(shù)據(jù)庫優(yōu)化。 3.13.1 數(shù)據(jù)庫需求分析數(shù)據(jù)庫需求分析 本系統(tǒng)主要面向三類用戶:求職者、企業(yè)招聘人員、系統(tǒng)管理員。因此首 先需要簡(jiǎn)歷求職者信息表、企業(yè)信息表、系統(tǒng)管理員表。求職者信息表存儲(chǔ)用 戶基本信息和個(gè)人簡(jiǎn)歷信息;企業(yè)信息表用于展示企業(yè)的基本

24、情況,包括企業(yè) 基本信息、企業(yè)行業(yè)信息、聯(lián)系方式等;系統(tǒng)管理員表用于后臺(tái)管理模塊,記 錄網(wǎng)站維護(hù)人員的基本情況。 求職者和企業(yè)交流的媒介是職位信息,職位信息包括籍貫、學(xué)歷、技能等 要求。企業(yè)招聘人員通過網(wǎng)站發(fā)布職位信息,求職者登錄網(wǎng)站瀏覽企業(yè)職位, 因此需要一個(gè)職位信息表。職位信息表和企業(yè)信息表關(guān)聯(lián),兩個(gè)表之間是多對(duì) 一的關(guān)系,即一個(gè)企業(yè)可以招聘多個(gè)職位。如果求職者對(duì)某職位有意向,可以 發(fā)送簡(jiǎn)歷給企業(yè)方,求職者發(fā)送簡(jiǎn)歷后的應(yīng)聘信息將記錄在應(yīng)聘表中,求職者 通過這個(gè)表可以獲知應(yīng)聘過哪些企業(yè),企業(yè)通過這個(gè)表可以獲知發(fā)布的職位有 哪些求職者應(yīng)聘。企業(yè)放可以瀏覽求職者的個(gè)人簡(jiǎn)歷,同時(shí)可以把符合職位要

25、求的個(gè)人信息添加進(jìn)企業(yè)人才庫,企業(yè)人才庫與企業(yè)信息表和個(gè)人求職表關(guān)聯(lián), 描述某個(gè)企業(yè)添加了哪些人才。 系統(tǒng)中需要多次使用職位類型、專業(yè)類型、地區(qū)列表等字典信息。發(fā)布職 位需要說明工作性質(zhì)、專業(yè)要求、工作特點(diǎn)等情況;建立個(gè)人簡(jiǎn)歷需要列出工 作意向、專業(yè)類別、籍貫等情況。因此建立 3 個(gè)相關(guān)的字典表(職位類型字典 表、專業(yè)類型字典表、地區(qū)字典表)與求職者信息表、職位信息表關(guān)聯(lián)。 職場(chǎng)文章是人才招聘網(wǎng)站的重要組成部分,包括新聞熱點(diǎn)和求職技巧兩個(gè) 部分。建立一個(gè)職場(chǎng)文章表存儲(chǔ)文章的作者、來源、內(nèi)容、發(fā)布時(shí)間等信息。 e-r 模型圖如圖 3-1 所示。 天津工業(yè)大學(xué) 2013 屆高職生畢業(yè)設(shè)計(jì) 10 圖

26、 3-1 e-r 模型圖 3.23.2 數(shù)據(jù)庫邏輯設(shè)計(jì)數(shù)據(jù)庫邏輯設(shè)計(jì) user 是求職者信息表,如表 3-1 所示。該表以 user_id 為主鍵,其他表以 user_id 作為外鍵,每張子表和主表之間都是 1:n 的關(guān)系。該表與專業(yè)類型字典 表(speciallist)關(guān)聯(lián)以 speciallist_id 作為外鍵,與地區(qū)字典表(arealist)關(guān)聯(lián) 以 city_id 作為外鍵。 表 3-1 求職者信息表(user) 字段字段類型類型null默認(rèn)默認(rèn)注釋注釋 user_idint(10)否null求職者帳號(hào) pwd varchar(50)否null密碼 question varchar(

27、50)否null密碼問題 answer varchar(50)否null密碼答案 email varchar(50)否null郵件地址 locked bool否0是否鎖住此帳號(hào) regdate date否date(y.m.d)注冊(cè)日期 name varchar(50)否null姓名 nation varchar(50)是null民族 sex varchar(50)否null性別 birthday date是null生日 length varchar(50)是null身高 marry varchar(50)是null婚姻 province varchar(50)否null籍貫 city_id v

28、archar(50)否null城市編號(hào) university varchar(50)是null畢業(yè)學(xué)校 天津工業(yè)大學(xué) 2013 屆高職生畢業(yè)設(shè)計(jì) 11 graduatedate date是null畢業(yè)日期 language1 varchar(50)是null外語 langlevel1 varchar(50)是null外語水平 language2 varchar(50)是null其他外語 langlevel2 varchar(50)是null其他外語水平 computer varchar(50)是null計(jì)算機(jī)水平 joblist_id varchar(50)否null職位類型 job1 var

29、char(50)否null具體崗位 1 job2 varchar(50)是null具體崗位 2 place varchar(50)是null現(xiàn)住地 ltime datetime否null離開時(shí)間 edu varchar(50)否null教育程度 special_id varchar(50)是null專業(yè)編號(hào) click int(10)否0被瀏覽次數(shù) salary varchar(50)是null薪水 address varchar(100)是null地址 phone varchar(50)是null電話 mobile varchar(50)是null手機(jī)號(hào)碼 posts varchar(50)

30、是null郵編 type varchar(50)是null兼職全職選擇 vip bool否0vip 用戶 introduce longtext是null個(gè)人簡(jiǎn)歷 works longtext是null工作經(jīng)歷 worktime date是null參加工作時(shí)間 enterprise 是企業(yè)信息表,如表 3-2 所示。enterprise_id 為表的主鍵,該表 與 job 表關(guān)聯(lián),描述企業(yè)發(fā)布的職位信息。 表 3-2 企業(yè)信息表(enterprise) 字段字段類型類型null默認(rèn)默認(rèn)注釋注釋 enterprise_idint(10)否null企業(yè)賬號(hào) pwd varchar(50)否null密

31、碼 question varchar(50)否null密碼問題 answer varchar(50)否null密碼答案 天津工業(yè)大學(xué) 2013 屆高職生畢業(yè)設(shè)計(jì) 12 email varchar(50)否null郵件地址 locked bool否0是否鎖住此帳號(hào) rdate date否null注冊(cè)日期 fullname varchar(50)否null企業(yè)全名 ltime datetime否null離開時(shí)間 click int(10)否0企業(yè)被瀏覽次數(shù) trade varchar(50)是null行業(yè) city varchar(50)是null所在城市 fund int(10)是null資金

32、property varchar(50)是null企業(yè)性質(zhì) area varchar(50)是null經(jīng)營區(qū)域 award varchar(50)是null所獲獎(jiǎng)勵(lì) note longtext是null簡(jiǎn)介 fdate date是null成立日期 address varchar(50)是null地址 zip varchar(50)是null郵編 phone varchar(50)是null電話 fax varchar(50)是null傳真 web varchar(50)是null企業(yè)網(wǎng)址 rationalname varchar(50)是null聯(lián)系人 lawname varchar(50)是

33、null法人 productname varchar(50)否null主要產(chǎn)品 usernum int(10)是null企業(yè)人數(shù) job 是企業(yè)要招聘的職位表,如表 3-3 所示。主鍵 id 設(shè)置為 auto_increment 類型。job 與 enterprise 表關(guān)聯(lián),兩個(gè)表之間的關(guān)系是多對(duì)一,即一個(gè)企業(yè)可以 發(fā)布多個(gè)職位。應(yīng)聘表(entstore)關(guān)聯(lián) user 和 job 表,通過 user_id 和 id 鍵值 關(guān)聯(lián)。job 與工作類型字典表(joblist) 、地區(qū)字典表(arealist)關(guān)聯(lián),分別使用 joblist_id 和 city_id 作為外鍵。 表 3-3 職位信

34、息表(job) 字段字段類型類型null默認(rèn)默認(rèn)注釋注釋 idauto_increment 否null主鍵 addtime datetime否null添加時(shí)間 天津工業(yè)大學(xué) 2013 屆高職生畢業(yè)設(shè)計(jì) 13 enterprise_id int(10)否null企業(yè)帳號(hào) joblist_id int(10)否null職位類型 job varchar(50)否null職位名稱 city_id int(10)否不限省份要求 city varchar(50)否null城市要求 num int(10)否null招聘人數(shù) age tinyint(4)否null年齡 speciallist_id int(1

35、0)否不限專業(yè)編號(hào) place varchar(50)是null工作地點(diǎn) edu varchar(50)是null文憑 language varchar(50)是null外語 languagelevel tinyint(4)是null外語水平 sex tinyint(1)是null性別要求 marry char(10)是null婚姻 computer varchar(50)是null計(jì)算機(jī)水平 live varchar(50)是null食宿 salary int(10)是null薪水 type char(1)是null全職兼職選擇 jobdescribe longtext是null崗位描述 c

36、lick int(10)否0瀏覽次數(shù) 職場(chǎng)文章表 article 如表 3-4 所示,主鍵 id 設(shè)置為 auto_increment 類型,通 過 type 字段來區(qū)分文章類型,0 表示求職技巧,1 表示熱點(diǎn)新聞。 表 3-4 職場(chǎng)文章表(article) 字段字段類型類型null默認(rèn)默認(rèn)注釋注釋 idauto_increment否null主鍵 title varchar(100)否null文章標(biāo)題 content longtext否null文章內(nèi)容 addtime datetime否null發(fā)表時(shí)間 click int(10)否0文章瀏覽數(shù) writer varchar(50)是null作

37、者 from varchar(100)是null來源 type bool否0文章類型 天津工業(yè)大學(xué) 2013 屆高職生畢業(yè)設(shè)計(jì) 14 talenet 是企業(yè)人才庫,如表 3-5 所示。企業(yè)人才庫與企業(yè)信息表和個(gè)人求 職表關(guān)聯(lián),通過 enterprise_id、user_id 關(guān)聯(lián),描述了一個(gè)企業(yè)包含人才的一對(duì) 多關(guān)系,id 設(shè)置為 auto_increment 類型。 表 3-5 企業(yè)人才庫表(talenet) 字段字段類型類型 nullnull 默認(rèn)默認(rèn)注釋注釋 idauto_increment 否 null 主鍵 enterprise_id varchar(50) 否 null 企業(yè)帳號(hào)

38、user_id varchar(50) 否 null 用戶帳號(hào) addtime datetime 否 null 添加時(shí)間 entstore 是應(yīng)聘表,如表 3-6 所示。該表同時(shí)關(guān)聯(lián) user 表和 job 表,描述了 求職者應(yīng)聘了哪些職位,某個(gè)職位有哪些應(yīng)聘者投了簡(jiǎn)歷,id 設(shè)置為 auto_increment 類型。 表 3-6 應(yīng)聘表(entstore) 字段字段類型類型null默認(rèn)默認(rèn)注釋注釋 idauto_increment否null主鍵 user_id varchar(50)否null求職者帳號(hào) job_id varchar(50)否null職位編號(hào) addtime datetim

39、e否null添加時(shí)間 admin 是后臺(tái)管理頁面的系統(tǒng)管理員表,如表 3-7 所示。 表 3-7 系統(tǒng)管理員表(admin) 字段字段類型類型null默認(rèn)默認(rèn)注釋注釋 admintype bool 否false是否為超級(jí)管理員 adminid varchar(50)否null用戶登錄名 adminpwd varchar(50)否null用戶密碼 adminname varchar(50)否null用戶姓名 joblist 是職位類型字典表,如表 3-8 所示,其中 joblist_id 與 job 表的 joblist_id 關(guān)聯(lián)。 表 3-8 職位類型字典表(joblist) 字段字段類型類

40、型null默認(rèn)默認(rèn)注釋注釋 joblist_id int(10)否null職位類型編號(hào) 天津工業(yè)大學(xué) 2013 屆高職生畢業(yè)設(shè)計(jì) 15 jobclass varchar(50)否null職位類型名稱 speciallist 是專業(yè)類型字典表,如表 3-9 所示。其中 special_id 與 user 表的 special_id 關(guān)聯(lián),與 job 表的 speciallist_id 關(guān)聯(lián)。 表 3-9 專業(yè)類型字典表(speciallist) 字段字段類型類型null默認(rèn)默認(rèn)注釋注釋 speciallist_id int(10)否null專業(yè)類型編號(hào) specialname varchar(5

41、0)否null專業(yè)類型名稱 arealist 是地區(qū)字典表,如表 3-10 所示。其中 arealist_id 與 user 表的 city_id 關(guān)聯(lián),與 job 表的 city_id 關(guān)聯(lián)。 表 3-10 地區(qū)字典表(arealist) 字段字段類型類型null默認(rèn)默認(rèn)注釋注釋 arealist_id int(10)否null地區(qū)編號(hào) areaclass varchar(50)否null地區(qū)名稱 注意 lock 是 mysql 的默認(rèn)關(guān)鍵字,如果使用 lock 作為數(shù)據(jù)庫的字段, mysql 將會(huì)報(bào)錯(cuò)。建表時(shí)要避免使用 lock 作為字段,如 user 表可以使用 locked 字段表示個(gè)

42、人用戶是否被鎖住。 3.3 數(shù)據(jù)庫索引設(shè)計(jì)數(shù)據(jù)庫索引設(shè)計(jì) 當(dāng)職位、人才、文章信息數(shù)據(jù)量變得很龐大時(shí),對(duì)數(shù)據(jù)庫的查詢要求很高。 在設(shè)計(jì)時(shí)需要考慮到查詢的優(yōu)化,最常用的方法就是通過使用索引來提高查詢 速度。 本系統(tǒng)涉及到職位、人才和文章的查詢。其中職位和人才需要根據(jù)工作城 市、職位類別和職位關(guān)鍵字查詢。在 job 表中建立索引對(duì)職位關(guān)鍵字查詢。在 job 表中建立 job 字段索引的代碼如下所示: alter table job add index (job) 此外需要對(duì)經(jīng)常分組、排序的字段建立索引,如果 order by 后面跟了多個(gè) 字段需要對(duì)這些字段建立復(fù)合索引。招聘網(wǎng)站的頁面顯示時(shí)通常要按

43、照添加時(shí) 間的倒敘方式查詢數(shù)據(jù),例如職位信息需要按照職位添加時(shí)間(addtime)倒序 排列顯示,因此在 job 表中對(duì) addtime 字段建立索引,代碼如下所示: alter table job add index(addtime) 天津工業(yè)大學(xué) 2013 屆高職生畢業(yè)設(shè)計(jì) 16 在經(jīng)常進(jìn)行連接,但是沒有指定為外鍵的列上建立索引,筆者在編寫網(wǎng)上 招聘系統(tǒng)演示程序時(shí)就采用這種方式來關(guān)聯(lián)表與表之間的關(guān)系。如在 speciallist_id 字段上建立索引來關(guān)聯(lián)職位類型字典表,代碼如下所示: alter table job add index (speciallist_id) 站內(nèi)文章需要按照文

44、章類別(新聞動(dòng)態(tài)和求職技巧) 、文章標(biāo)題、文章內(nèi) 容以及關(guān)鍵字組合查詢。因此需要在 article 表中對(duì) type、title、content 字段建 立復(fù)合索引。mysql 的復(fù)合索引跟順序有關(guān),可以得到如下 3 種排列的查詢: type; type,title; type,title,content。 如果按照 type、content 來搜索,mysql 將不會(huì)使用這個(gè)索引。mysql 只 能根據(jù)索引的排列順序來組合查詢情況。 注意:在使用索引時(shí)需要根據(jù)實(shí)際情況進(jìn)行分析,只建立經(jīng)常使用的索引。 mysql 在生成執(zhí)行計(jì)劃的時(shí)候會(huì)考慮索引,建立額外的索引會(huì)給查詢優(yōu)化器增 加更多的工作量,

45、如果索引太多,有可能出現(xiàn) mysql 選擇最優(yōu)索引失敗的情 況。在實(shí)際開發(fā)過程中經(jīng)常是邊開發(fā)邊對(duì)索引調(diào)整以達(dá)到更好的查詢效果。 天津工業(yè)大學(xué) 2013 屆高職生畢業(yè)設(shè)計(jì) 17 第四章 系統(tǒng)目錄機(jī)構(gòu)與公共模塊設(shè)計(jì) 4.14.1 系統(tǒng)目錄結(jié)構(gòu)系統(tǒng)目錄結(jié)構(gòu) 在線人才網(wǎng)站系統(tǒng)目錄結(jié)構(gòu)如圖 4-1 所示,根目錄放置網(wǎng)站全部前臺(tái)頁面 及子文件夾。在某些網(wǎng)站系統(tǒng)中,將前臺(tái)頁面與后臺(tái)管理頁面存放在后臺(tái)管理 頁面集中到一個(gè)文件夾中,本系統(tǒng)使用 admin 子文件夾放置后臺(tái)系統(tǒng)。在網(wǎng)站 中有些文件是經(jīng)常需要調(diào)用的,如數(shù)據(jù)庫連接文件 db.php,這樣的文件放在 com 子文件夾里面,將這些文件集中到一個(gè)文件夾,便

46、于源文件的管理。子文 件夾具體作用如下。 圖 4-1 人才招聘系統(tǒng)目錄結(jié)構(gòu) 根目錄:此處存放前臺(tái)頁面。 天津工業(yè)大學(xué) 2013 屆高職生畢業(yè)設(shè)計(jì) 18 admin 子文件夾:后臺(tái)管理模塊,通過此文件夾中的 admin.php 文件 登錄后臺(tái)。 com 子文件夾:存放系統(tǒng)通用的 php 文件,例如連接數(shù)據(jù)庫的文件 db.php。 db 子文件夾:存放網(wǎng)站數(shù)據(jù)庫腳本。 images 子文件夾:存放網(wǎng)站全部圖片。 4.24.2 數(shù)據(jù)庫連接類數(shù)據(jù)庫連接類 dataaccessdataaccess 設(shè)計(jì)設(shè)計(jì) 數(shù)據(jù)庫連接是寶貴、有限的的資源,因此需要有效地配置、管理、監(jiān)控。 在編寫數(shù)據(jù)庫應(yīng)用系統(tǒng)時(shí),通常需

47、要建立一個(gè)數(shù)據(jù)庫連接類,用于維護(hù)數(shù)據(jù)庫 連接的程序。通過提供統(tǒng)一的連接訪問方式,規(guī)范 php 頁面的調(diào)用,有效地避 免了頻繁的數(shù)據(jù)庫開關(guān)操作,便于編寫風(fēng)格統(tǒng)一的程序。 本系統(tǒng)創(chuàng)建了一個(gè) dataaccess 類管理數(shù)據(jù)庫連接,該類封裝了連接數(shù)據(jù)庫、 查詢數(shù)據(jù)、操作數(shù)據(jù)、關(guān)閉數(shù)據(jù)庫的方法,dataaccess 類保存在 com/db.php 頁 面中。其中 connect 方法調(diào)用了 mysql_connect 函數(shù),從而實(shí)現(xiàn)了 mysql 數(shù)據(jù) 庫的連接。close 方法完成了對(duì)數(shù)據(jù)庫連接資源的釋放,包括釋放結(jié)果集對(duì)象和 數(shù)據(jù)庫連接對(duì)象;getlink 方法返回當(dāng)前數(shù)據(jù)庫連接的標(biāo)識(shí);query

48、 方法通過參 數(shù)傳遞 select 語句實(shí)現(xiàn)查詢的功能;perform 方法通過參數(shù)傳遞 insert、delete、update 語句實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的操作;getrownum 方法返回了查詢 結(jié)果集的行數(shù)。筆者對(duì)數(shù)據(jù)庫訪問的常用方法進(jìn)行簡(jiǎn)單的封裝,招聘網(wǎng)站頁面 都可以調(diào)用 dataaccess 類訪問數(shù)據(jù)庫,隱藏了 php 訪問數(shù)據(jù)庫的函數(shù)。 dataaccess 類的代碼清單如下所示: link; function connect() $this-link = mysql_connect(localhost, root, 123456); if (!$this-link) die(could

49、 not connect: . mysql_error(); 天津工業(yè)大學(xué) 2013 屆高職生畢業(yè)設(shè)計(jì) 19 mysql_select_db(job, $this-link) or die (cant use job : . mysql_error(); /echo connected successfully; return $this-link; function close() / 釋放結(jié)果集 if(!empty($this-res) mysql_free_result($this-res); / 關(guān)閉連接 if($this-link) mysql_close($this-link);

50、function getrownum() return mysql_num_rows($this-res); /*數(shù)據(jù)查詢函數(shù)*/ function $this-res = mysql_query($sql) or die(數(shù)據(jù)庫查詢錯(cuò)誤: . mysql_error(); return $this-res; /插入刪除修改操作 function $this-res = mysql_query($sql) or die(數(shù)據(jù)庫查詢錯(cuò)誤: . mysql_error(); if($this-res) return true; return false; ? 在前面的章節(jié)中讀者也看到了 die 函

51、數(shù)的使用,該函數(shù)是 exit 函數(shù)的別名, 它們都是用來完成中斷操作的。die 函數(shù)通常用于定位錯(cuò)誤,放在可能產(chǎn)生異 常的語句之后,使用 or 關(guān)鍵字來連接 die 函數(shù)。當(dāng)異常觸發(fā)時(shí),將輸出 die 函 數(shù)的參數(shù)。例如查詢數(shù)據(jù)庫時(shí),如果 mysql_query 執(zhí)行中產(chǎn)生異常,將輸出 數(shù)據(jù)庫查詢錯(cuò)誤:.mysql_error( )。die 不僅可以輸出一條錯(cuò)誤信息,還可以 傳入一個(gè)函數(shù)實(shí)現(xiàn)更為強(qiáng)大的終止操作。 function err() 天津工業(yè)大學(xué) 2013 屆高職生畢業(yè)設(shè)計(jì) 20 return 數(shù)據(jù)庫查詢錯(cuò)誤:.mysql_error(); mysql_query($sql) or d

52、ie(err(); 這樣做可以使用戶了解錯(cuò)誤發(fā)生的原因,也方便開發(fā)人員調(diào)試系統(tǒng)的錯(cuò)誤, 程序可以通過電子郵件、日志等方式把錯(cuò)誤信息發(fā)送給開發(fā)人員,這樣就能夠 更好地控制系統(tǒng)的 bug。 4.3 錯(cuò)誤處理頁面設(shè)計(jì)錯(cuò)誤處理頁面設(shè)計(jì) 在 web 應(yīng)用中常見錯(cuò)誤之一就是用戶輸入錯(cuò)誤,一旦用戶登錄網(wǎng)站開始 輸入操作,就必須考慮用戶輸入內(nèi)容的各種情況。當(dāng)用戶輸入錯(cuò)誤時(shí),可以重 新定位頁面流向,根據(jù)用戶輸入的錯(cuò)誤類型定向到不同的提示頁面,幫助用戶 及時(shí)改正。 下面設(shè)計(jì)一個(gè)錯(cuò)誤處理頁面 error.php 來輸出錯(cuò)誤信息。一下代碼列舉出了 各種可能出現(xiàn)的用戶操作錯(cuò)誤,通過查詢字符串的方式傳遞錯(cuò)誤編碼給 err

53、or.php 頁面,所謂查詢字符串是在 url 后面加上賦值表達(dá)式,形如 url?變量名 =xx $err_1 = 錯(cuò)誤:請(qǐng)使用小寫字母“a-z”,數(shù)字“0-9”,和下劃線“_”!; $err_2 = 錯(cuò)誤:此用戶名已存在!; $err_3 = 錯(cuò)誤:請(qǐng)輸入您的密碼!; $err_4 = 錯(cuò)誤:兩次輸入的密碼不同!; $err_5 = 錯(cuò)誤:e-mail必須填寫!; $err_6 = 錯(cuò)誤:e-mail不正確!; $err_7 = 錯(cuò)誤:你已經(jīng)添加了此人!; $err_8 = 錯(cuò)誤:您不是vip用戶,您只能添加1個(gè)人才!; $err_9 = 錯(cuò)誤:您的人才庫已滿!; $err_10 = 錯(cuò)誤:

54、 無添加人才的權(quán)限,請(qǐng)先登陸!; $err_11 = 錯(cuò)誤: 更新數(shù)據(jù)出錯(cuò)!; $err_12 = 錯(cuò)誤: 插入數(shù)據(jù)出錯(cuò)!; $err_13 = 錯(cuò)誤: 重復(fù)投票!; $err_14 = 錯(cuò)誤: 沒有登陸或該用戶非企業(yè)用戶,不能發(fā)布職位信息!; $err_15 = 錯(cuò)誤: 該帳號(hào)被鎖定!; 天津工業(yè)大學(xué) 2013 屆高職生畢業(yè)設(shè)計(jì) 21 / 錯(cuò)誤碼判斷 switch ($_geterrid) case 0: $err=$err_0; break; case 1: $err=$err_1; break; case 2: $err=$err_2; break; case 3: $err=$err_

55、3; break; case 4: $err=$err_4; break; case 5: $err=$err_5; break; case 6: $err=$err_6; break; case 7: $err=$err_7; break; case 8: $err=$err_8; break; case 9: $err=$err_9; break; case 10: $err=$err_10; break; case 11: $err=$err_11; break; case 12: $err=$err_12; break; case 13: $err=$err_13; break; ca

56、se 14: $err=$err_14; break; case 15: $err=$err_15; break; echo php error page.$err.返回; ? 天津工業(yè)大學(xué) 2013 屆高職生畢業(yè)設(shè)計(jì) 22 第五章 后臺(tái)頁面設(shè)計(jì) 5.15.1 后臺(tái)登錄頁面設(shè)計(jì)后臺(tái)登錄頁面設(shè)計(jì) 系統(tǒng)管理員在登錄后臺(tái)管理模塊時(shí)需輸入用戶名和密碼,頁面效果如圖 6- 1 所示。 圖 6-1 管理員登錄頁面 通過表單將值傳遞到 adminlogin.php 文件,該文件對(duì)用戶身份進(jìn)行驗(yàn)證, 如果是后臺(tái)合法用戶將為當(dāng)前登錄的管理員創(chuàng)建一個(gè) session id,該 session 將 用于檢測(cè)管理員是

57、否登錄。以下代碼存放在 adminlogin.php 文件中。 connect(); $sql = select * from admin where adminid=.$_postusername. and adminpwd=.$_postuserpass.; $result = $db-query($sql); $row_num = $db-getrownum(); if($row_num 0) $_sessionadminlogin=1;/管理員登陸后的標(biāo)記 $_sessionadminuser=$_postusername;/記錄當(dāng)前登陸的用戶帳號(hào) header(location: m

58、enu.php); return; else header(location: ./com/error.php?err=0); ? 第 6 行代碼獲取 admin.php 文件中表單發(fā)送的用戶名和密碼,才用字符串 天津工業(yè)大學(xué) 2013 屆高職生畢業(yè)設(shè)計(jì) 23 連接的方式組成查詢后臺(tái)管理員的 sql 語句。第 8 行代碼調(diào)用公用 dataaccess 類的 query 方法執(zhí)行該 sql 語句,第 9 行代碼調(diào)用 dataaccess 類的 getrownum 方法返回查詢結(jié)果集的行數(shù)。第 10 行代碼對(duì)返回的結(jié)果集行數(shù)進(jìn) 行判斷,如果大于 0,則注冊(cè)一個(gè)$_sessionadminlogin

59、變量,賦值為 1 表示 該管理員已登錄,并且記錄當(dāng)前管理員的帳號(hào),否則將調(diào)用錯(cuò)誤頁面 error.php。 5.25.2 檢測(cè)后臺(tái)用戶是否登錄檢測(cè)后臺(tái)用戶是否登錄 后臺(tái)頁面可以直接獲取對(duì)數(shù)據(jù)庫資源編輯修改的權(quán)限,所以必須在每個(gè)后 臺(tái)頁面中加入對(duì)用戶身份的檢測(cè)代碼,如果用戶未能正常登錄,則跳轉(zhuǎn)到 admin.php 登錄頁面重新登錄。 ?php session_start(); if(1$_sessionadminlogin) echo alert(您還未登陸或者超時(shí),請(qǐng)重登陸! );window.location.href = admin.php; return; ? 如果$_sessiona

60、dminlogin的值不等于 1 或?yàn)榭談t表示管理員沒有登錄 系統(tǒng),頁面自動(dòng)跳轉(zhuǎn)到登錄頁面,前面都是才用 header 函數(shù)來跳轉(zhuǎn)頁面,這里 才用 javascript 的跳轉(zhuǎn)方式; window.location.href=admin.php 5.35.3 企業(yè)信息管理設(shè)計(jì)企業(yè)信息管理設(shè)計(jì) 商業(yè)性的人才網(wǎng)站通過繳納會(huì)員費(fèi)的方式盈利,收取企業(yè)會(huì)員費(fèi)用可以為 網(wǎng)站積累更多的資金,同時(shí)向會(huì)員提供更好的服務(wù)。企業(yè)用戶繳納了會(huì)員費(fèi)后 成為 vip 用戶,發(fā)布的職位信息可以放在職位欄目的前面顯示,同時(shí)能夠收藏 更多的人才簡(jiǎn)歷。而沒有交費(fèi)的企業(yè)用戶則只能享受有限的服務(wù)。如圖 6-2 所 示顯示了企業(yè)用戶的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論