




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
任務(wù)二使用Session對象設(shè)計集團公司登錄動態(tài)網(wǎng)頁復(fù)習(xí)知識與技能任務(wù)描述隨著集團公司業(yè)務(wù)的擴展,網(wǎng)站系統(tǒng)中的信息傳遞和展示功能需要進行相應(yīng)調(diào)整。為了適應(yīng)用戶權(quán)限的差異化,特別是針對某些信息,我們需要根據(jù)用戶權(quán)限設(shè)置不同的瀏覽和處理權(quán)限。為此,網(wǎng)絡(luò)信息部門指派工程師小明負(fù)責(zé)設(shè)計集團公司登錄網(wǎng)頁“070201.php”的動態(tài)頁面,以便為開發(fā)分權(quán)限的后臺管理系統(tǒng)做好準(zhǔn)備。動態(tài)頁面中包括用戶名和密碼文本框,并設(shè)置登錄集團故事內(nèi)容管理系統(tǒng)的按鈕。通過這一設(shè)計,將為后續(xù)開發(fā)分權(quán)限的后臺管理系統(tǒng)打下基礎(chǔ),以滿足用戶權(quán)限差異化的瀏覽和處理要求。這樣的調(diào)整與集團公司業(yè)務(wù)發(fā)展密切相關(guān),確保了網(wǎng)站系統(tǒng)在信息內(nèi)容傳遞和展示方面的適應(yīng)性和靈活性。我們期待工程師小明的設(shè)計能夠順利實施,并為公司提供更好的管理體驗。集團公司登錄動態(tài)網(wǎng)頁如圖7-2-1所示。任務(wù)分析這個任務(wù)中的PHP動態(tài)網(wǎng)頁用于實現(xiàn)集團公司網(wǎng)絡(luò)的登錄功能。用戶需要輸入用戶名和密碼,然后點擊“登錄集團公司內(nèi)部管理系統(tǒng)”按鈕進行登錄操作。網(wǎng)頁代碼設(shè)計中通過PHP處理用戶輸入的用戶名和密碼,驗證其正確性,并根據(jù)驗證結(jié)果輸出相應(yīng)的登錄信息。(1)任務(wù)目標(biāo)是設(shè)計動態(tài)網(wǎng)頁,實現(xiàn)集團公司網(wǎng)站的登錄功能,以便后續(xù)開發(fā)分權(quán)限的后臺管理系統(tǒng)做準(zhǔn)備。(2)網(wǎng)頁主要功能:①網(wǎng)頁展示:使用HTML和CSS實現(xiàn)網(wǎng)頁的布局和樣式。②用戶輸入:提供用戶名和密碼的輸入文本框。③用戶驗證:通過PHP處理用戶輸入的用戶名和密碼,進行驗證。④登錄結(jié)果顯示:根據(jù)驗證結(jié)果,在頁面上顯示相應(yīng)的登錄信息。任務(wù)分析(3)網(wǎng)頁頁面結(jié)構(gòu):①頁面標(biāo)題:使用<title>標(biāo)簽設(shè)置頁面標(biāo)題為“設(shè)計集團公司登錄動態(tài)網(wǎng)頁”。②頁面布局:使用<table>標(biāo)簽進行頁面布局,設(shè)置居中對齊。③輸入表單:使用<form>和<input>標(biāo)簽創(chuàng)建輸入表單,包括用戶名和密碼的輸入文本框。④登錄按鈕:使用<input>標(biāo)簽創(chuàng)建登錄按鈕。⑤登錄結(jié)果顯示:使用PHP代碼輸出登錄結(jié)果。(4)用戶驗證邏輯:①獲取用戶輸入的用戶名和密碼。②啟動會話(session)以保存用戶信息。③驗證用戶名和密碼是否正確。④根據(jù)驗證結(jié)果輸出相應(yīng)的登錄信息。通過對代碼的分析,可以看到該任務(wù)主要涉及網(wǎng)頁設(shè)計,HTML、CSS和PHP編程等技術(shù)。在完成任務(wù)時,需要確保網(wǎng)頁布局合理、輸入驗證準(zhǔn)確,并能正確處理登錄結(jié)果的顯示。1.準(zhǔn)備工作按照網(wǎng)站規(guī)劃參數(shù)進行配置。Web站點路徑:C:\phpweb。Web測試IP地址:。Web測試端口號:8899。參照項目一中任務(wù)一、任務(wù)二、任務(wù)三,配置并啟動WAMP環(huán)境,配置好Dreamweaver網(wǎng)站環(huán)境,如果已經(jīng)配置并啟動WAMP環(huán)境、Dreamweaver網(wǎng)站環(huán)境,本步驟可以略過。2.創(chuàng)建設(shè)計“070201.php”動態(tài)網(wǎng)頁(1)鼠標(biāo)單擊“開始”→“動態(tài)網(wǎng)頁”啟動Dreamweaver軟件,單擊“文件”菜單,單擊“新建”創(chuàng)建PHP動態(tài)網(wǎng)頁“070201.php”。(2)輸入網(wǎng)頁標(biāo)題“設(shè)計集團公司登錄動態(tài)網(wǎng)頁”。(3)插入3行1列的表格。表格參數(shù)屬性為align="center"width="500"height="232"border="0"background="/image/700.jpg",屬性含義為居中、寬500像素、高232像素、邊框粗細(xì)為0、背景圖片為700.jpg。(4)在上面表格的第2行單元格中插入form表單。action屬性提交的目標(biāo)地址為“070201.php",method屬性設(shè)置為"post",表示使用POST方法提交表單數(shù)據(jù)。(5)在上面表單中插入表格。這個表格為3行2列,表格屬性width="260"border="0"align="center",含義是寬260像素、邊框粗細(xì)為0、居中。本表格的第1、2行設(shè)置屬性bgcolor="#CCCCCC",含義是背景顏色為灰色。本表格的第3行2個單元格合并,合并后的單元格,設(shè)置單元格屬性align="center",含義為居中,單元格中插入按鈕控件,按鈕控件屬性<inputtype="submit"name="sub"value="登錄集團公司內(nèi)部管理系統(tǒng)"/>。本表格的第1列2個單元格,分別輸入文字“用戶名:”“密碼:”,“用戶名:”右側(cè)單元格插入文本框控件,“密碼:”右側(cè)單元格插入文本框控件。(6)在源代碼</html>之后,輸入PHP源代碼,具體源代碼參見第38~62行。3.動態(tài)網(wǎng)頁“070201.php”源代碼1<!doctypehtml>2<html>3<head>4<metacharset="utf-8">5<title>設(shè)計集團公司登錄動態(tài)網(wǎng)頁</title>6</head>7<body>8<tablealign="center"width="500"height="232"border="0"background="/image/700.jpg">9<tr>10<tdheight="170"></td>11</tr>12<tr>13<tdheight="40"><div>14<formaction="070201.php"method="post">15<tablewidth="260"border="0"align="center">16<trbgcolor="#CCCCCC">17<td>用戶名:</td>18<td><inputclass="one"type="text"name="name"size="20"/></td>19</tr>20<trbgcolor="#CCCCCC">21<td>密碼:</td>22<td><inputtype="password"name="pwd"size="20"/></td>23</tr>24<tr>25<tdcolspan="2"align="center"><inputtype="submit"name="sub"value="登錄集團公司內(nèi)部管理系統(tǒng)"/></td>26</tr>27</table>28</form>29</div></td>30</tr>31<tr>32<td>33</td>34</tr>35</table>36</body>37</html>38<?php39if(isset($_REQUEST['name'])) //檢查是否有傳遞name參數(shù)40{41$nnn=$_REQUEST['name']; //獲取傳遞的name參數(shù),并賦值給$nnn變量42$ppp=$_REQUEST['pwd']; //獲取傳遞的pwd參數(shù),并賦值給$ppp變量43session_start();//啟動會話44$_SESSION['nnn']=$nnn; //將$nnn存儲到會話中,作為用戶的姓名信息45$_SESSION['ppp']=$ppp; //將$ppp存儲到會話中,作為用戶的密碼信息46if($nnn=='admin') //判斷用戶名是否為'admin'47{48if($ppp=='123456') //判斷密碼是否為'123456'49{50echo"<script>alert('用戶名密碼正確,登錄成功!');</script>";//輸出登錄成功提示框51}52else53{54echo"<script>alert('用戶名或密碼錯誤,登錄失??!');</script>";//輸出登錄失敗提示框55}56}57else58{59echo"<script>alert('用戶名或密碼錯誤,登錄失??!');</script>";//輸出登錄失敗提示框60}61}62?>用戶訪問登錄頁面,并在頁面上輸入用戶名和密碼后提交表單。PHP代碼檢查是否有傳遞名為“name”的參數(shù)(即用戶名),如果有,則繼續(xù)執(zhí)行下面的步驟。代碼從用戶提交的表單中獲取用戶名和密碼,并將它們分別保存到名為$nnn和$ppp的變量中。為了使用會話功能,代碼啟動了會話(也就是創(chuàng)建了用戶登錄狀態(tài)的“會話”)。用戶輸入的用戶名和密碼被存儲在會話變量中,這樣在整個會話期間,可以在其他頁面中使用這些信息。代碼檢查用戶名是否為“admin”,如果是,則繼續(xù)執(zhí)行下面的步驟。動態(tài)網(wǎng)頁進一步檢查密碼是否為“123456”,如果是,則在頁面上顯示彈窗,內(nèi)容是“用戶名密碼正確,登錄成功!”;如果不是,則在頁面上顯示彈窗,內(nèi)容是“用戶名或密碼錯誤,登錄失?。 ?。如果用戶名不是“admin”,則在頁面上顯示彈窗,內(nèi)容是“用戶名或密碼錯誤,登錄失??!”。需要注意的是,這段代碼存在嚴(yán)重的安全漏洞,因為它沒有對用戶輸入進行驗證和過濾,也沒有使用加密存儲密碼等安全措施。在真實的應(yīng)用中,應(yīng)該加入更多安全性措施來防止惡意攻擊和數(shù)據(jù)泄露。4.代碼簡要說明與解釋(1)第1行代碼指定文檔類型為HTML5,并且將以下代碼視為HTML文檔。(2)第2行開始HTML文檔的<html>元素。(3)第3行在<head>元素內(nèi),定義文檔的元數(shù)據(jù),這里設(shè)置了字符集為utf-8。(4)第5行設(shè)置文檔標(biāo)題為“設(shè)計集團公司登錄動態(tài)網(wǎng)頁”。(5)第6行開始HTML文檔的<body>元素,表示文檔的主體部分。(6)第8行創(chuàng)建一個居中對齊的<table>元素,設(shè)置其寬度為500像素,高度為232像素,邊框粗細(xì)為0,并設(shè)置背景圖片為“/image/700.jpg”。(7)第9行在表格中創(chuàng)建一個<tr>元素,用于創(chuàng)建表格的一行。(8)第10行在表格行中創(chuàng)建一個<td>元素,設(shè)置其高度為170像素,用于創(chuàng)建一個空白區(qū)域。(9)第13行到第30行在表格行中創(chuàng)建一個<td>元素,用于放置一個<form>表單,該表單將數(shù)據(jù)提交到“070201.php”。在表單中創(chuàng)建一個包含用戶名和密碼輸入框的表格。(10)第16行在表單中創(chuàng)建一個表格行,背景顏色為"#CCCCCC",用于顯示用戶名。(11)第17行在表單行中的第一個單元格中顯示"用戶名"。(12)第18行在表單行中的第二個單元格中創(chuàng)建一個輸入框,類型為文本,名稱為“name”,大小為20個字符。(13)第20行在表單中創(chuàng)建另一個表格行,背景顏色為"#CCCCCC",用于顯示密碼。(14)第21行在表單行中的第一個單元格中顯示“密碼”。(15)第22行在表單行中的第二個單元格中創(chuàng)建一個輸入框,類型為密碼,名稱為“pwd”,大小為20個字符。(16)第24行在表單中創(chuàng)建一個表格行,用于顯示提交按鈕。(17)第25行在單元格中創(chuàng)建一個提交按鈕,名稱為“sub”,顯示文本為“登錄集團公司內(nèi)部管理系統(tǒng)”。(18)第36行結(jié)束HTML文檔的<body>元素。(19)第37行結(jié)束HTML文檔的<html>元素。(20)第38~62行是PHP代碼塊,在HTML代碼后面。首先,通過檢查是否傳遞了名為“name”的參數(shù)來判斷用戶是否嘗試登錄。(21)第38行是PHP代碼的開頭,表示后面的代碼塊是PHP代碼。(22)第39行使用isset()函數(shù)檢查是否傳遞了“name”參數(shù)。(23)第41行如果“name”參數(shù)存在,則將它的值賦給變量$nnn。(24)第42行將傳遞的“pwd”參數(shù)的值賦給變量$ppp。(25)第43行通過session_start()啟動會話,以便后續(xù)可以使用會話存儲數(shù)據(jù)。(26)第44行將用戶名存儲在會話變量$_SESSION['nnn']中,以便在會話期間程序判斷檢測之用。(27)第45行將密碼存儲在會話變量$_SESSION['ppp']中,作用同第44行。(28)第46~60行根據(jù)用戶名和密碼進行驗證。(29)第46行檢查用戶名是否為“admin”。(30)第47~52行如果用戶名為“admin”,則進一步檢查密碼。(31)第48行檢查密碼是否為“123456”。(32)第50行如果用戶名和密碼都正確,顯示登錄成功的提示框。(33)第54行如果密碼不正確,顯示登錄失敗的提示框。(34)第57~60行如果用戶名不是“admin”,顯示登錄失敗的提示框。這段代碼的功能是創(chuàng)建登錄頁面,用戶可以輸入用戶名和密碼,然后通過PHP代碼進行驗證。如果用戶名和密碼正確,會顯示登錄成功提示框,否則會顯示登錄失敗提示框,過程中用戶的用戶名和密碼會存儲在會話中,以便在后續(xù)操作中使用。1.session基礎(chǔ)session是一種在服務(wù)器端保存用戶會話數(shù)據(jù)的方法,而對應(yīng)的cookie則是在客戶端保存用戶數(shù)據(jù)的方式。HTTP協(xié)議是一種無狀態(tài)協(xié)議,即服務(wù)器在響應(yīng)完請求后就失去了與瀏覽器的聯(lián)系。為了解決這個問題,Netscape最早引入了cookie的概念,使得數(shù)據(jù)可以在客戶端之間進行跨頁面交換。那么服務(wù)器是如何記住眾多用戶的會話數(shù)據(jù)的呢?首先,需要建立客戶端和服務(wù)器端之間的聯(lián)系,每個客戶端都需要有唯一標(biāo)識,以便服務(wù)器能夠識別出來。2.PHPsession變量PHPsession變量用于存儲關(guān)于用戶會話的信息,或者更改用戶會話的數(shù)據(jù)。會話變量存儲單個用戶的信息,并且在應(yīng)用動態(tài)網(wǎng)頁的所有頁面中都是可用的。在因特網(wǎng)上,由于HTTP地址無法保持狀態(tài),Web服務(wù)器無法知道WAMP是誰以及WAMP做了什么。PHPsession解決了這個問題,通過在服務(wù)器上存儲用戶信息以便隨后使用,比如用戶名稱、購買的商品等。然而,會話信息是臨時的,一旦用戶離開網(wǎng)站,會話數(shù)據(jù)便被刪除。3.session_start()函數(shù)的作用在了解了session的基礎(chǔ)之后,我們知道session實際上由兩部分組成:客戶端的sessionid和服務(wù)器端的session文件。在使用session之前,必須先執(zhí)行session_start()函數(shù)。那么session_start()函數(shù)的作用是什么呢?首先,在執(zhí)行session_start()函數(shù)之前,服務(wù)器需要準(zhǔn)備好用于種植cookie的環(huán)境,并準(zhǔn)備好session文件。為什么需要cookie?因為sessionid需要被存儲在客戶端,以便在后續(xù)的請求中能夠?qū)essionid傳遞給服務(wù)器。通過種植名為“PHPSESSID”的cookie,服務(wù)器可以將sessionid保存在客戶端,以便在需要時能夠識別該客戶端的會話數(shù)據(jù)。如果不執(zhí)行session_start()函數(shù),服務(wù)器無法進行cookie的種植操作,也就無法存儲和識別會話數(shù)據(jù)。其次,在讀取會話數(shù)據(jù)之前,需要執(zhí)行session_start()函數(shù)告訴服務(wù)器要根據(jù)sessionid反序列化相應(yīng)的session文件。服務(wù)器通過sessionid找到對應(yīng)的session文件,并將文件內(nèi)容反序列化為可讀取的會話數(shù)據(jù)。如果不執(zhí)行session_start()函數(shù),服務(wù)器將無法識別客戶端的sessionid,也就無法讀取對應(yīng)的會話數(shù)據(jù)。需要注意的是,在執(zhí)行session_start()函數(shù)之前只能執(zhí)行session相關(guān)的函數(shù),即session_name()函數(shù),用于讀取或指定會話名稱(默認(rèn)為“PHPSESSID”)。這是因為session_name()函數(shù)需要在session_start()函數(shù)之前執(zhí)行,以確保會話的正確啟動。綜上所述,執(zhí)行session_start()函數(shù)之前的準(zhǔn)備工作包括:準(zhǔn)備好種植cookie以及準(zhǔn)備好session文件。而執(zhí)行session_start()函數(shù)的作用是告訴服務(wù)器要準(zhǔn)備好會話文件并種植cookie,以便能夠正確地存儲和讀取會話數(shù)據(jù)。本次課小結(jié)與課后作業(yè)一、填空題1.session是一種在________保存用戶________的方法,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2020年成人高考高起專英語完形填空強化
- 吉林省松原市乾安縣2023-2024學(xué)年七年級下學(xué)期期末教學(xué)質(zhì)量檢測數(shù)學(xué)試卷(含解析)
- 2025至2030年中國速凍淡水小龍蝦行業(yè)市場全景調(diào)研及投資規(guī)劃建議報告
- 2025至2030年中國西蘭花籽提取行業(yè)發(fā)展運行現(xiàn)狀及投資潛力預(yù)測報告
- 2025至2030年中國智能衛(wèi)浴行業(yè)市場發(fā)展監(jiān)測及市場深度研究報告
- 專業(yè)承接吊車業(yè)務(wù)合同范本
- 抖音賬號合作協(xié)議合同范本
- 農(nóng)家樂安全合同協(xié)議書范本
- (教研室提供)山東省濟寧市金鄉(xiāng)縣(鎮(zhèn)街學(xué)校)2024-2025學(xué)年五年級下學(xué)期期末考試英語試題
- 古詩文閱讀之文言關(guān)聯(lián)教材比較辨析類題型突破(解析版)
- 統(tǒng)編版語文四年級上冊教材研讀備課
- 2022年江蘇省連云港市公開招聘消防員模擬二筆試卷(含答案)
- 食品質(zhì)量安全風(fēng)險日管控、周排查、月調(diào)度檢查記錄表
- 輻射工作設(shè)備操作規(guī)程
- 口腔種植技術(shù)管理規(guī)范
- 河北省專業(yè)技術(shù)職務(wù)任職資格申報評審條件摘編(2003年版)
- 2023年諸城市人民醫(yī)院康復(fù)醫(yī)學(xué)與技術(shù)崗位招聘考試歷年高頻考點試題含答案解析
- GB/T 28648-2012化學(xué)品急性吸入毒性試驗急性毒性分類法
- GB/T 15166.4-2021高壓交流熔斷器第4部分:并聯(lián)電容器外保護用熔斷器
- 一年級數(shù)學(xué)50以內(nèi)加減法練習(xí)題
- 阿片類藥物不良反應(yīng)防治1副本
評論
0/150
提交評論