PHP程序設(shè)計(jì)教程 課件 模塊三 PHP Web編程_第1頁(yè)
PHP程序設(shè)計(jì)教程 課件 模塊三 PHP Web編程_第2頁(yè)
PHP程序設(shè)計(jì)教程 課件 模塊三 PHP Web編程_第3頁(yè)
PHP程序設(shè)計(jì)教程 課件 模塊三 PHP Web編程_第4頁(yè)
PHP程序設(shè)計(jì)教程 課件 模塊三 PHP Web編程_第5頁(yè)
已閱讀5頁(yè),還剩33頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

PHP程序設(shè)計(jì)教程

模塊三

PHPWeb編程

任務(wù)2.1Web表單數(shù)據(jù)的提交與獲取目錄Contents3任務(wù)實(shí)施1任務(wù)目標(biāo)2任務(wù)書任務(wù)目標(biāo)①理解PHP處理表單的過程。②掌握表單的接收與處理方法。③掌握表單的異步提交方式。④理解HTTP的請(qǐng)求和響應(yīng)方法。⑤培養(yǎng)勤于思考、嚴(yán)謹(jǐn)自律、精益求精,以及質(zhì)量意識(shí)、標(biāo)準(zhǔn)意識(shí)和學(xué)習(xí)意識(shí)(課程思政)。任務(wù)書任務(wù)1:表單數(shù)據(jù)提交創(chuàng)建表單頁(yè)面,頁(yè)面表單如圖2-1所示。提交表單數(shù)據(jù)到后端對(duì)應(yīng)的php文件處理,并在Web頁(yè)面中輸出用戶所提交的表單信息。圖2-1頁(yè)面表單任務(wù)實(shí)施表單數(shù)據(jù)提交過程(1)導(dǎo)入教師提供的表單素材userInfo.html和配套的css樣式文件,并對(duì)表單頁(yè)面進(jìn)行分析,確定每個(gè)標(biāo)簽的name屬性值。(2)創(chuàng)建showUserInfo.php文件,并在該文件中獲取用戶POST方式提交的表單數(shù)據(jù),輸出用戶前端頁(yè)面提交的信息。注:上述文件代碼詳見教材。showUserInfo.php文件代碼任務(wù)書任務(wù)2:表單數(shù)據(jù)的異步提交實(shí)現(xiàn)過程借助PHP技術(shù),構(gòu)建一個(gè)計(jì)算器表單的異步提交機(jī)制。要求能精準(zhǔn)處理四則運(yùn)算,將運(yùn)算結(jié)果實(shí)時(shí)展示在頁(yè)面上,顯著提升用戶操作體驗(yàn)。圖2-2計(jì)算器頁(yè)面表單任務(wù)實(shí)施表單數(shù)據(jù)的異步提交實(shí)現(xiàn)過程表單數(shù)據(jù)的異步提交思維導(dǎo)圖如下圖2-3所示。首先搭建包含數(shù)字輸入框、運(yùn)算符選擇欄的表單頁(yè)面;接著利用JavaScript編寫異步請(qǐng)求代碼,實(shí)現(xiàn)數(shù)據(jù)無刷新傳輸;最后編寫PHP處理邏輯,對(duì)提交數(shù)據(jù)進(jìn)行運(yùn)算處理。注:上述文件代碼詳見教材。圖2-3表單數(shù)據(jù)的異步提交實(shí)現(xiàn)謝謝PHP程序設(shè)計(jì)教程

模塊三

PHPWeb編程

任務(wù)2.2Web表單數(shù)據(jù)正則校驗(yàn)?zāi)夸汣ontents3任務(wù)實(shí)施1任務(wù)目標(biāo)2任務(wù)書任務(wù)目標(biāo)①熟悉正則表達(dá)式的語法規(guī)則。②掌握PHP中常用的正則表達(dá)式處理函數(shù)。③掌握如何使用正則表達(dá)式進(jìn)行模式匹配。④培養(yǎng)學(xué)生勤于思考、嚴(yán)謹(jǐn)和精益求精的態(tài)度,以及樹立正確的價(jià)值觀和道德觀(課程思政)。任務(wù)書在項(xiàng)目開發(fā)過程中,經(jīng)常需要獲取用戶提交的信息,如用戶注冊(cè)時(shí)的用戶名、密碼、郵箱、QQ號(hào)等詳細(xì)信息。而上述信息都需要經(jīng)過格式驗(yàn)證后,才能避免用戶填寫不合法的信息。請(qǐng)通過PHP中的正則表達(dá)式完成Web表單數(shù)據(jù)的正則校驗(yàn)。頁(yè)面的效果圖如下圖2-7所示。圖2-7頁(yè)面表單任務(wù)實(shí)施用戶注冊(cè)信息正則驗(yàn)證需求(1)用戶名:只能包含英文字母(大寫或者小寫),且長(zhǎng)度要在4~12個(gè)字母之間。(2)密碼:6~10個(gè)字符(大小寫字母、數(shù)字或下劃線)。(3)QQ號(hào)碼:1~9中的任意數(shù)字開頭,長(zhǎng)度至少5位。請(qǐng)根據(jù)驗(yàn)證的需求,借助PHP的正則表達(dá)式完成該任務(wù),思維導(dǎo)圖如下午2-8所示。注:上述文件代碼詳見教材。圖2-8用戶注冊(cè)信息正則驗(yàn)證腦圖謝謝PHP程序設(shè)計(jì)教程

模塊三

PHPWeb編程

任務(wù)2.3文件數(shù)據(jù)的讀寫及文件的上傳與下載目錄Contents3任務(wù)實(shí)施1任務(wù)目標(biāo)2任務(wù)書任務(wù)目標(biāo)①掌握目錄和文件的常見操作方法。②掌握如何處理文件上傳和下載。③掌握如何讀取和寫入文件中的數(shù)據(jù)。④理解如何處理文件的編碼和解碼。⑤掌握如何處理目錄的遍歷。⑥通過學(xué)習(xí)情境與任務(wù)的實(shí)現(xiàn),培養(yǎng)學(xué)習(xí)者獨(dú)立分析問題和解決問題的能力(課程思政)。任務(wù)書任務(wù)1:文件的上傳與下載導(dǎo)入文件上傳的素材頁(yè)面fileUpload.html,頁(yè)面如下圖2-8所示。要求調(diào)用uploadFile.php實(shí)現(xiàn)文件的上傳功能。當(dāng)文件上傳成功后則跳轉(zhuǎn)到fileList.php頁(yè)面中顯示出upload目錄中已上傳的文件素材信息,頁(yè)面如下圖2-9所示,同時(shí)在fileList.php頁(yè)面中能實(shí)現(xiàn)文件簡(jiǎn)單的下載功能。圖2-8文件上傳表單頁(yè)面圖2-9上傳文件列表頁(yè)面任務(wù)實(shí)施文件的上傳與下載實(shí)施步驟(1)導(dǎo)入文件上傳的素材表單頁(yè)面,需要注意該頁(yè)面中form表單的提交方式為POST,enctype屬性值為“multipart/form-data”。(2)定義處理文件上傳的PHP文件,通過超全局變量數(shù)組$_FILES和move_uploaded_file()函數(shù)保存上傳的文件。(3)如果成功完成文件上傳的任務(wù)后,跳轉(zhuǎn)到fileList.php頁(yè)面。并調(diào)用scandir()函數(shù)掃描upload目錄下已上傳文件,并在頁(yè)面的表格中加載所長(zhǎng)傳的文件數(shù)據(jù)信息。否則轉(zhuǎn)(4)(4)提示用戶上傳文件有誤,請(qǐng)重新上傳。注:上述文件代碼詳見教材。任務(wù)書任務(wù)2:文件數(shù)據(jù)的讀寫操作需從現(xiàn)有服務(wù)器的data目錄里,定位并讀取學(xué)生成績(jī)文件。運(yùn)用文件操作相關(guān)函數(shù),對(duì)文件中的數(shù)據(jù)予以解析。完成解析后,將處理好的數(shù)據(jù)信息,完整無誤地加載至頁(yè)面表格中,以實(shí)現(xiàn)數(shù)據(jù)的可視化展示。圖2-10學(xué)生的數(shù)據(jù)圖2-11讀取的學(xué)生數(shù)據(jù)列表任務(wù)實(shí)施文件數(shù)據(jù)的讀寫操作實(shí)施步驟(1)引入HTML頁(yè)面資源,并進(jìn)行頁(yè)面結(jié)構(gòu)的設(shè)置。(2)讀取文件數(shù)據(jù)到數(shù)組,使用file()函數(shù)將位于./data/data.txt的文件內(nèi)容讀入到$file_datas數(shù)組中,該數(shù)組的每個(gè)元素對(duì)應(yīng)文件中的一行數(shù)據(jù)。(3)解析表頭數(shù)據(jù),將$file_datas數(shù)組的第一個(gè)元素使用explode()函數(shù)拆分成多個(gè)部分,存入$title數(shù)組,用于后續(xù)生成表格的列標(biāo)題。(4)生成表格主體數(shù)據(jù),使用for循環(huán)從$file_datas數(shù)組的第二個(gè)元素開始遍歷,結(jié)合explode()函數(shù)的使用將其拆分成學(xué)生成績(jī)的各個(gè)字段,形成表格的主體數(shù)據(jù)行。(5)頁(yè)面展示,將包含PHP代碼生成內(nèi)容的HTML頁(yè)面通過Web服務(wù)器訪問,在瀏覽器中呈現(xiàn)出帶有學(xué)生成績(jī)數(shù)據(jù)的表格,表格應(yīng)用了Bootstrap的樣式,具有邊框、懸停效果和居中對(duì)齊的文本。注:上述文件代碼詳見教材。謝謝PHP程序設(shè)計(jì)教程

模塊三

PHPWeb編程

任務(wù)2.4PHP實(shí)現(xiàn)簽名墻和驗(yàn)證碼的制作目錄Contents3任務(wù)實(shí)施1任務(wù)目標(biāo)2任務(wù)書任務(wù)目標(biāo)①了解常見的圖片格式和GD庫(kù)。②掌握?qǐng)D像的創(chuàng)建與生成方法。③掌握基本圖形與文本的繪制。④通過學(xué)習(xí)情境與任務(wù)的實(shí)現(xiàn),培養(yǎng)學(xué)習(xí)者獨(dú)立分析問題和解決問題的能力,以及精益求精的工匠精神和職業(yè)價(jià)值觀(課程思政)。任務(wù)書在PHP中,使用圖形繪制函數(shù)常用于開發(fā)驗(yàn)證碼、文字等功能。借助PHP中的圖像創(chuàng)建和生成方法,我們可以構(gòu)建一張簽名墻,最后將生成的簽名墻的圖像保存為文件或輸出到瀏覽器。效果圖下圖2-16所示。圖2-16簽名墻制作的樣例任務(wù)實(shí)施簽名墻的實(shí)現(xiàn)步驟(1)創(chuàng)建200*300的畫布并填充畫布的背景顏色。(2)定義并實(shí)例化簽名的數(shù)組變量。(3)循環(huán)數(shù)組,通過隨機(jī)函數(shù)設(shè)置每個(gè)簽名字體的大小、顏色、傾斜角度和簽名的坐標(biāo)值。(4)調(diào)用imagettftext()函數(shù)繪制簽名。(5)輸出繪制的圖片。根據(jù)簽名墻的實(shí)現(xiàn)步驟完成該任務(wù),流程圖如圖2-17所示。注:上述文件代碼詳見教材。圖2-17

簽名墻的實(shí)現(xiàn)流程圖任務(wù)書驗(yàn)證碼其實(shí)是一種人機(jī)驗(yàn)證機(jī)制,通過要求用戶輸入一串隨機(jī)生成的字符或數(shù)字來確認(rèn)用戶身份。這種驗(yàn)證機(jī)制的目的是區(qū)分人類用戶和自動(dòng)化機(jī)器人,從而防止惡意攻擊者通過自動(dòng)化程序?qū)W(wǎng)站進(jìn)行惡意操作。作為一名程序開發(fā)人員,在實(shí)際工作中要認(rèn)真面對(duì)項(xiàng)目中的每一個(gè)環(huán)節(jié),不放過任何一個(gè)安全漏洞,要始終追求精益求精的工匠精神和良好的職業(yè)價(jià)值觀,保護(hù)用戶的權(quán)益不受到侵犯,做到防范于未然?;谏鲜雒枋?,使用PHP的圖像處理函數(shù)繪制一張簡(jiǎn)單的驗(yàn)證碼圖片。圖2-18驗(yàn)證碼的樣例任務(wù)實(shí)施驗(yàn)證碼的制作(1)創(chuàng)建一個(gè)固定長(zhǎng)寬的畫布,并給畫布填充背景顏色。(2)然后設(shè)置生成字符的信息、顏色,并將所生成的字符寫入畫布中。(3)接著將生成的干擾元素繪制在畫布中。(4)最后輸出繪制成的驗(yàn)證碼。根據(jù)以上思路,創(chuàng)建captcha.php文件,并按照以下的流程圖2-19完成任務(wù)的編碼實(shí)現(xiàn)。注:上述文件代碼詳見教材。圖2-19驗(yàn)證碼的制作流程圖謝謝PHP程序設(shè)計(jì)教程

模塊三

PHPWeb編程

任務(wù)2.5基于面向?qū)ο蟮臄?shù)據(jù)庫(kù)操作的封裝目錄Contents3任務(wù)實(shí)施1任務(wù)目標(biāo)2任務(wù)書任務(wù)目標(biāo)①熟悉面向?qū)ο蟮乃枷?。②掌握類與對(duì)象的定義與使用。③掌握接口的定義和實(shí)現(xiàn)。④了解常用的設(shè)計(jì)模式。⑤通過學(xué)習(xí)情境與任務(wù)的實(shí)現(xiàn),培養(yǎng)學(xué)習(xí)者善于思考,深入研究的良好習(xí)慣,同時(shí)培養(yǎng)學(xué)習(xí)者的創(chuàng)新意識(shí)(課程思政)。任務(wù)書在PHP使用MySQLi操作MySQL數(shù)據(jù)庫(kù)時(shí),普遍采用面向過程的方式實(shí)現(xiàn),代碼顯得比較凌亂。通過使用面向?qū)ο蟮乃枷耄瑢?shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)操作類的封裝,進(jìn)而簡(jiǎn)化數(shù)據(jù)庫(kù)的操作,完成數(shù)據(jù)庫(kù)常見的讀寫操作?;谏鲜雒枋?,請(qǐng)結(jié)合面向?qū)ο蟮乃枷胪瓿蓪?duì)MySQL數(shù)據(jù)庫(kù)常見讀寫操作的封裝,并進(jìn)行相應(yīng)的代碼測(cè)試。通過該任務(wù)的完成,擬在培養(yǎng)學(xué)習(xí)者善于思考,深入研究的良好習(xí)慣,同時(shí)培養(yǎng)學(xué)習(xí)者的創(chuàng)新意識(shí),達(dá)到學(xué)以致用,增強(qiáng)技術(shù)自信。任務(wù)實(shí)施基于面向?qū)ο蟮臄?shù)據(jù)庫(kù)常見操作的封裝實(shí)施步驟思維導(dǎo)圖如下所示。(1)創(chuàng)建用來封裝數(shù)據(jù)庫(kù)操作的類。(2)在類中定義必要的成員屬性。(3)在類中創(chuàng)建公共的方法get_connect()。(4)在類中創(chuàng)建execute_update()方法。(5)在類中創(chuàng)建execute_query()方法。(6)測(cè)試封裝的類。注:上述文件代碼詳見教材。圖2-30數(shù)據(jù)庫(kù)操作封裝類實(shí)施步驟腦圖任務(wù)書在實(shí)際的項(xiàng)目開發(fā)過程中,最重要的一個(gè)部分就是對(duì)數(shù)據(jù)庫(kù)的操作。通常情況下,在一個(gè)PHP腳本運(yùn)行期間只需要一個(gè)數(shù)據(jù)庫(kù)連接。那么如何通過限制實(shí)例化次數(shù)來保證系統(tǒng)的一致性和數(shù)據(jù)庫(kù)連接資源的有效利用,值得每一名開發(fā)人員深思。此時(shí)我們就可以借助單例模式,以保證整個(gè)程序運(yùn)行期間該類只存在一個(gè)實(shí)例對(duì)象。任務(wù)實(shí)施單例模式,是一種常見的軟件設(shè)計(jì)模式,通過單例模

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論