《PHP動態(tài)網(wǎng)站開發(fā)項目教程》全套教學(xué)課件_第1頁
《PHP動態(tài)網(wǎng)站開發(fā)項目教程》全套教學(xué)課件_第2頁
《PHP動態(tài)網(wǎng)站開發(fā)項目教程》全套教學(xué)課件_第3頁
《PHP動態(tài)網(wǎng)站開發(fā)項目教程》全套教學(xué)課件_第4頁
《PHP動態(tài)網(wǎng)站開發(fā)項目教程》全套教學(xué)課件_第5頁
已閱讀5頁,還剩689頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

開發(fā)環(huán)境的安裝全套可編輯PPT課件問題引入PHP(PHP:HypertextPreprocessor)即“超文本預(yù)處理器”,是在服務(wù)器端執(zhí)行的腳本語言,尤其適用于Web開發(fā)并可嵌入HTML中。PHP語法學(xué)習(xí)了C語言,吸納Java和Perl多個語言的特色發(fā)展出自己的特色語法,并根據(jù)它們的長項持續(xù)改進提升自己,例如java的面向?qū)ο缶幊?,該語言當(dāng)初創(chuàng)建的主要目標(biāo)是讓開發(fā)人員快速編寫出優(yōu)質(zhì)的web網(wǎng)站。PHP同時支持面向?qū)ο蠛兔嫦蜻^程的開發(fā),使用上非常靈活。163問題引入PHP是一種服務(wù)端語言,使用PHP編寫的程序,不能直接在瀏覽器端運行,必須通過服務(wù)器解析后才能執(zhí)行。因此,為了運行PHP程序,必須先安裝PHP運行環(huán)境。問題引入PHP運行環(huán)境為分windows和linux兩種環(huán)境。為了安裝的簡便,我們一般選擇一鍵安裝包進行安裝,安裝后,可以提供web服務(wù)、php解析、mysql數(shù)據(jù)庫服務(wù)等。問題引入本課程的使用環(huán)境為windows,因此,下面介紹一下windows中如何安裝運行環(huán)境。如果使用Linux操作系統(tǒng),請參考網(wǎng)絡(luò)上的資料進行安裝。PHP開發(fā)環(huán)境配置PHP是一種服務(wù)器端的Web應(yīng)用程序腳本語言,其開發(fā)環(huán)境主要包括:PHP解釋器、Web服務(wù)器、數(shù)據(jù)庫服務(wù)器及編輯器。PHP支持Windows和Linux等多種操作系統(tǒng)。PHP典型開發(fā)環(huán)境配置為Windows+IIS(或Apache)+PHP+MySQL,其中Linux系統(tǒng)為Linux+Apache+PHP+MySQL。采用PHP語言編寫完成的程序,其擴展名是.php,這種文件是不能直接在瀏覽器中運行的,需要通過服務(wù)器的方式來進行運行。因此,在運行PHP文件之前,我們需要安裝PHP開發(fā)環(huán)境,配置服務(wù)器。PHP開發(fā)環(huán)境配置PHP開發(fā)環(huán)境的配置相對比較復(fù)雜,如果是由用戶自己下載PHP、Apache、MySQL來安裝配置,會非常耗時,還容易出錯?,F(xiàn)在最簡單的方式,是直接下載集成安裝環(huán)境,會極大的提高我們的環(huán)境配置效率。目前流行的PHP集成運行環(huán)境軟件包非常多,比如XAMPP、WAMPP等。在此,我們推薦大家使用“小皮面板”進行環(huán)境的搭建。PHP開發(fā)環(huán)境配置小皮面板官網(wǎng)地址是:/小皮面板是phpStudy的簡稱,系統(tǒng)提供了Linux和Windows兩種版本,大家只需要根據(jù)自己的環(huán)境選擇下載相應(yīng)的版本即可。PHP開發(fā)環(huán)境配置訪問網(wǎng)站:/,下載phpstudy客戶端安裝phpstudy圖2打開下載好的phpstudy安裝文件,根據(jù)安裝向?qū)?,完成安裝,然后啟動客戶端程序,如圖2所示。安裝phpstudy圖3進入面板后,默認處于“首頁”,在右邊“套件”中點擊Apache2.4.39和MySQL5.7.26后面的“啟動”按鈕。如果系統(tǒng)端口沒有沖突,正常情況下,這兩個運行環(huán)境將會啟動成功,紅色方塊會變成藍色箭頭,如圖3所示。(套件中顯示的版本號,會隨著系統(tǒng)版本發(fā)生變化

)測試運行環(huán)境運行環(huán)境正常啟動后,在瀏覽器中輸入:http://localhot/即可打開默認的首頁。localhost是系統(tǒng)默認配置好的網(wǎng)站,其根目錄是phpstudy安裝目錄下的www目錄。如果要創(chuàng)建自己的網(wǎng)站,請在面板左側(cè)點擊“網(wǎng)站”,然后點擊“創(chuàng)建新網(wǎng)站”,在域名中請輸入自定義的域名,在根目錄下選擇我們的PHP程序所在的文件夾,如圖4所示。點擊“確認”即完成網(wǎng)站配置。圖4配置網(wǎng)站在面板左側(cè)點擊“網(wǎng)站”,在此可以配置網(wǎng)站。域名中請輸入自定義的域名,在根目錄下選擇我們的PHP程序所在的文件夾,根據(jù)需要,可以在PHP版本中切換版本(安裝小皮以后,默認就是php7,如果要使用其他版本的php,請切換至“環(huán)境”面板,然后在php中選擇所需版本進行安裝。拓展我們安裝的phpstudy軟件,從套件面板可以看出,默認是包含了4個軟件,如圖5所示。其中Apache和Nginx是用于提供web服務(wù)的,我們在使用時,只需要啟動其中之一即可。web服務(wù)默認的端口是80。FTP是用于提供FTP服務(wù)的,默認的端口是21,MySQL是提供數(shù)據(jù)庫服務(wù)的,默認端口是3306。圖5拓展如果系統(tǒng)中上述端口被占用,則無法啟動相應(yīng)的服務(wù)。解決辦法是,可以更改上述服務(wù)所用的端口,比如,將web服務(wù)端口修改成8080。修改后,如果能正常啟動,則訪問時加上端口號即可,比如:http://localhost:8080拓展如果不想更換端口,可以將相應(yīng)端口釋放,也就是結(jié)束占用端口的軟件??梢栽诿姘遄髠?cè)點擊“設(shè)置”,然后在右側(cè)“系統(tǒng)設(shè)置”中進行端口檢測,一旦檢測到端口被占用,將占用端口的進程關(guān)閉即可??偨Y(jié)PHP是一種服務(wù)端語言,必須安裝PHP運行環(huán)境才能正常運行PHP文件。常見的PHP運行環(huán)境有很多種,推薦使用phpstudy,這個運行環(huán)境功能強大,免費,易于使用。謝謝編程環(huán)境的安裝問題引入上一講我們已經(jīng)安裝好了運行環(huán)境,那怎么樣來編寫PHP程序呢?PHP文件本質(zhì)上是一種文本文件,理論上,任何可以編輯文本文件的工具都可以用來編寫php程序。問題引入上一講我們已經(jīng)安裝好了運行環(huán)境,那怎么樣來編寫PHP程序呢?PHP是一種非常流行的編程語言,全世界有數(shù)以億計的程序員在使用PHP。因此,我們可以找到很多優(yōu)秀的PHP編輯器。比較有名的有:NetBeans(免費版本)、PHPStorm(商業(yè)版本)、SublimeText3(商業(yè)版本)、VisualStudioCode(免費版本)。我們重點推薦PHPStorm,此編輯器功能強大,學(xué)生可以免費申請教育版認證。下載安裝包PhpStorm是JetBrains公司開發(fā)的一款商業(yè)的PHP集成開發(fā)工具,旨在提高用戶效率,可深刻理解用戶的編碼,提供智能代碼補全,快速導(dǎo)航以及即時錯誤檢查。訪問網(wǎng)站:/phpstorm/,下載PHPStorm30天試用版,如圖1所示。如何覺得軟件好用,請購買正版,或者使用EDU郵箱申請教育版(相關(guān)方法,請查詢網(wǎng)絡(luò))。圖1開始使用PHPStorm打開下載好的PHPStorm安裝文件,根據(jù)安裝向?qū)?,完成安裝,然后啟動程序,如圖2所示。圖2開始使用PHPStorm配置網(wǎng)站。參考上一節(jié)所講的環(huán)境配置,我們將指向E:/test(請?zhí)崆霸贓盤創(chuàng)建test目錄),如圖3所示。創(chuàng)建好網(wǎng)站后,可以在瀏覽器中輸入訪問我們剛創(chuàng)建的網(wǎng)站。由于此目錄內(nèi)容為空,并無首頁文件可默認顯示,所以會出現(xiàn)403的錯誤提示,如圖4所示。圖4圖3開始使用PHPStorm接下來,在圖2中,點擊open,打開E:\test目錄,如圖5所示。此時,左邊的Project面板會自動顯示test,這個代表我們啟動了一個項目(推薦大家用項目的形式進行編輯,不要只打開一個文件,也就是要打開網(wǎng)站的根目錄。)。在test上面點擊鼠標(biāo)右鍵,選擇菜單New-PHPFile,可以創(chuàng)建一個新的PHP文件,文件名命名成index.php,如圖6所示。圖6圖5開始使用PHPStorm創(chuàng)建好文件后,系統(tǒng)會自動打開此文件。在右邊的編輯窗口中,按照圖7所示輸入內(nèi)容。PHPStrom中打開的文件,會自動保存,不需要手動保存。小伙伴們,再也不用擔(dān)心文件內(nèi)容丟失了。圖7開始使用PHPStorm此時,可以到瀏覽器中,輸入域名:訪問一下,應(yīng)該可以查看到瀏覽器中顯示的“HelloWord!”字樣。在時常開發(fā)中,為了方便我們查看當(dāng)前編輯文件的效果,我們還需要在PHPStorm中進行一些配置。點擊菜單File-Settings-Build,Execution,Deployment-Deployment,在右邊面板中點擊+號,再點擊Inplace,創(chuàng)建一個新的服務(wù)器,如圖8所示。圖8開始使用PHPStorm在NewServerName中給新建的服務(wù)器取一個名字,比如test,然后在右邊的WebserverURL中輸入“”即可,如圖9所示。圖9開始使用PHPStorm配置好服務(wù)器后,要運行文件,查看效果時,只需要將鼠標(biāo)移至編輯窗口右邊的瀏覽器圖標(biāo)并點擊即可,如圖10所示。圖11是點擊Chrome圖標(biāo),點擊后,系統(tǒng)會調(diào)用Chrome瀏覽器,并自動打開index.php文件進行顯示。圖10開始使用PHPStorm文件運行結(jié)果:圖11總結(jié)PHP編輯器有很多,我們推薦PHPStorm,功能強大,非常方便。PHPStorm配置較為復(fù)雜,如果要使用一些高級功能,請參考網(wǎng)絡(luò)資料。謝謝思政案例:關(guān)于盜版軟件盜版軟件盜版軟件是非法制造或復(fù)制的軟件。軟件的版權(quán),就相當(dāng)于一個人的戶口、身份證。它是軟件所有人在完成軟件設(shè)計后,向“國家版權(quán)局計算機軟件登記”部門申請依法認證并核發(fā)的版權(quán)所有證明。一個公司銷售的正版軟件存在兩種版權(quán)所有形式:一種是公司自主產(chǎn)品,版權(quán)所有者為該公司所有;一種是銷售別人的產(chǎn)品,版權(quán)所有者是為該公司提供軟件的公司或個人。如果銷售給您軟件的公司,不能提供以上合法的版權(quán)所有證明,那么,該產(chǎn)品就有盜版軟件的嫌疑。盜版軟件盜版軟件侵犯的是軟件的版權(quán)。盜版在絕大多數(shù)國家和地區(qū),被定義為侵犯知識產(chǎn)權(quán)的違法行為,甚至構(gòu)成犯罪,會受到所在國家的處罰。生產(chǎn)、使用、傳播盜版軟件的個人、公司、組織都有可能被告侵權(quán)。盜版軟件案例據(jù)滁州日報社報道,未經(jīng)著作權(quán)人許可,泉州一名男子擅自在網(wǎng)上發(fā)布封裝的微軟操作系統(tǒng),供網(wǎng)站會員瀏覽、下載,從中獲利14.77萬元。隨著設(shè)在全椒的網(wǎng)站服務(wù)器被公安機關(guān)查處,該男子歸案,日前全椒縣人民法院以犯侵犯著作權(quán)罪,判處其有期徒刑三年,宣告緩刑三年,并處罰金7萬元。盜版軟件案例賴某某是福建泉州人,大學(xué)畢業(yè)后在一所小學(xué)任教。生活中賴某某喜歡上網(wǎng),在瀏覽一論壇時,無意間得知可以通過給一些網(wǎng)站做推廣賺錢。所謂的網(wǎng)站推廣,也就是通過做盜版軟件,用戶在下載安裝時,將推廣網(wǎng)站設(shè)為主頁,從而獲利。盜版軟件案例2007年11月,賴某某以網(wǎng)名“拾零道人”,在“999寶藏網(wǎng)”注冊,2012年11月成為該網(wǎng)站操作系統(tǒng)版塊WindowsXP子版塊版主。自2012年起,未經(jīng)微軟公司許可,賴某某在網(wǎng)站上發(fā)布封裝的微軟操作系統(tǒng)軟件,供會員下載。截止到2013年6月,賴某某以“999寶藏網(wǎng)”為平臺,累計發(fā)布封裝微軟WindowsXP、微軟Windows7等侵權(quán)操作系統(tǒng)軟件下載帖16個。此外,賴某某還在百度空間、網(wǎng)易博客上,開設(shè)個人網(wǎng)站,發(fā)布供用戶下載的盜版微軟操作系統(tǒng)軟件。盜版軟件案例后來,“999寶藏網(wǎng)”設(shè)在全椒的網(wǎng)站服務(wù)器被公安機關(guān)查獲,賴某某浮出水面,經(jīng)查,其非法獲利14.77萬余元。盜版軟件案例歸案后,賴某某供述了自己的犯罪事實,退出全部違法所得,向微軟公司賠禮道歉后,取得微軟公司的諒解。2015年11月4日,全椒縣人民檢察院以犯侵犯著作權(quán)罪,對賴某某提起公訴。盜版軟件案例全椒縣人民法院審理后認為,賴某某以營利為目的,未經(jīng)著作權(quán)人許可,通過信息網(wǎng)絡(luò)向公眾傳播他人計算機軟件,其行為已構(gòu)成侵犯著作權(quán)罪,情節(jié)特別嚴重。公訴機關(guān)指控被告人賴某某犯罪事實清楚,證據(jù)確實、充分,罪名成立。全椒縣人民法院以犯侵犯著作權(quán)罪,判處賴某某有期徒刑三年,宣告緩刑三年,并處罰金7萬元。對被告人賴某某違法所得14.77萬元,予以追繳。盜版軟件案例給我們的啟示我們在瀏覽網(wǎng)頁時,經(jīng)??梢钥吹礁鞣N軟件的下載。我們應(yīng)該要有保護知識產(chǎn)權(quán)的良好意識,在下載之前,要看清楚軟件的版權(quán)。千萬不要隨意下載盜版軟件,以免侵權(quán)。我們要使用的PHP開發(fā)軟件,PhpStorm,就是一個商業(yè)軟件,我們可以下載試用版,免費試用30天。試用完成后,如果覺得好用,應(yīng)該要購買授權(quán),切不可去找什么所謂的破解版。使用盜版軟件的風(fēng)險但凡你從網(wǎng)上下載的什么綠色版、純凈版、破解版都屬于盜版軟件的范疇,那使用盜版軟件有什么危害呢?1、盜版軟件有可能讓企業(yè)或個人電腦遭受病毒攻擊,喪失信息安全保障。2、使用盜版軟件,公司和個人均有法律風(fēng)險,上市一票否決。使用盜版軟件的風(fēng)險但凡你從網(wǎng)上下載的什么綠色版、純凈版、破解版都屬于盜版軟件的范疇,那使用盜版軟件有什么危害呢?3、盜版軟件無法享受技術(shù)服務(wù)(升級、技術(shù)支持、培訓(xùn))。4、使用盜版軟件構(gòu)成不正當(dāng)競爭,面臨支付損害賠償、禁止銷售及貨物被扣押等風(fēng)險。謝謝項目1會員管理系統(tǒng)項目介紹我們提供給大家的第一個項目是“會員管理系統(tǒng)”。會員管理系統(tǒng)是大多數(shù)項目的必備模塊,本項目將制作一套完整的會員注冊、登錄、資料修改、管理員管理會員的系統(tǒng)。這個項目也是我們第二個項目的基礎(chǔ)模塊,在后面項目的學(xué)習(xí)中,都會融合這個項目的內(nèi)容,以實現(xiàn)會員管理的功能。項目介紹本項目的基本功能如下:新會員注冊己注冊會員登錄登錄會員修改個人資料管理員登錄管理員查看會員資料管理員修改會員資料(重置密碼)管理員設(shè)置會員管理權(quán)限管理員刪除會員項目介紹本項目的詳細需求設(shè)計:會員注冊時,需要填寫用戶名、密碼、確認密碼、信箱、性別、愛好。用戶名長度6-18個字符,只能由英文字母、數(shù)字構(gòu)成。密碼長度6-10個字符,只能由英文字母、數(shù)字構(gòu)成。信箱格式是email,要進行格式驗證。項目介紹本項目的詳細需求設(shè)計:性別用單選框。愛好用多選框。項目設(shè)計一個首頁,首頁做各個功能的導(dǎo)航條。會員注冊成功與否,要給出反饋。注冊成功后,跳轉(zhuǎn)至登錄頁面。注冊失敗后,返回上一個頁面。項目介紹本項目的詳細需求設(shè)計:會員登錄成功與否,要給出反饋。登錄成功后,跳轉(zhuǎn)至首頁。登錄失敗后,返回上一個頁面。用戶密碼在數(shù)據(jù)庫中要用密文存放,不得直接存放明文。管理員登錄和普通用戶共享一個界面,登錄成功后,系統(tǒng)自動判斷用戶類別。如果發(fā)現(xiàn)是管理員登錄,則登錄成功后,跳轉(zhuǎn)至?xí)T管理界面。項目介紹本項目的詳細需求設(shè)計:所有管理功能相關(guān)的頁面,均要在頁面開始處判斷管理員權(quán)限。管理員可以修改普通會員的資料,可以將普通會員設(shè)置成管理員,也可以取消管理員權(quán)限,可以刪除會員。設(shè)置一個用戶名為admin的超級管理員,管理員在進行設(shè)置權(quán)限和刪除會員操作時,需將admin用戶排除在外。項目展示本項目重點內(nèi)容在PHP代碼及功能展示上,所以界面做得很簡單。在注冊表單中,我們使用了單行文本框、單選按鈕、多選按鈕。同學(xué)們在學(xué)習(xí)的時候,也可以根據(jù)需要,添加其他種類的表單域。項目展示登錄時,添加了一個驗證碼功能,防止機器人登錄或者是網(wǎng)絡(luò)攻擊。后臺管理中,管理員可以查看會員列表,可將某個會員設(shè)置或取消管理員,可以刪除會員,可以修改會員資料。項目展示會員登錄后,可以修改個人資料。是否修改密碼,是單獨設(shè)置了一個復(fù)選框??偨Y(jié)會員管理系統(tǒng)是多數(shù)項目的重要模塊之一,通過學(xué)習(xí)本項目,我們可以學(xué)會phpStorm軟件的使用、php基本編程語法、mysql數(shù)據(jù)庫的創(chuàng)建、php連接mysql數(shù)據(jù)庫并實現(xiàn)增刪改查的操作等重要內(nèi)容。謝謝思政案例:工匠精神PHP的發(fā)展歷史我們的課程內(nèi)容都是使用PHP語言來制作。PHP繼承自一個老的工程,名叫PHP/FI。PHP/FI最早是在1995年由RasmusLerdorf創(chuàng)建,最初只是一套簡單的Perl腳本,用來跟蹤訪問他主頁的人們的信息。到1997年,PHP/FI2.0,也就是它的C語言實現(xiàn)的第二版在全世界已經(jīng)有幾千個用戶(估計)和大約50,000個域名安裝,大約是Internet所有域名的1%。但是那時只有幾個人在為該工程撰寫少量當(dāng)代碼,它仍然只是一個人的工程。PHP的發(fā)展歷史PHP/FI2.0在經(jīng)歷了數(shù)個beta版本的發(fā)布后于1997年11月發(fā)布了官方正式版本。不久,PHP3.0的第一個alpha版本的發(fā)布,PHP從此走向了成功。PHP的發(fā)展歷史1998年的冬天,PHP3.0官方發(fā)布不久,AndiGutmans和ZeevSuraski開始重新編寫PHP代碼。設(shè)計目標(biāo)是增強復(fù)雜程序運行時的性能和PHP自身代碼的模塊性。PHP3.0的新功能和廣泛的第三方數(shù)據(jù)庫、API的支持使得這樣程序的編寫成為可能,但是PHP3.0沒有高效處理如此復(fù)雜程序的能力。新的被稱為“ZendEngine”(這是Zeev和Andi的縮寫)的引擎,成功的實現(xiàn)了設(shè)計目標(biāo),并在1999年中期首次引入PHP?;谠撘娌⒔Y(jié)合了更多新功能的PHP4.0,在PHP3.0發(fā)布兩年后,于2000年5月發(fā)布了官方正式版本。PHP的發(fā)展歷史PHP5在長時間的開發(fā)及多個預(yù)發(fā)布版本后,于2004年7月發(fā)布正式版本。它的核心是Zend引擎2代,引入了新的對象模型和大量新功能。2015.12.3PHP7問世了,這是PHP的一次飛躍。PHP7修復(fù)了大量BUG,新增了功能和語法糖。這些改動涉及到了核心包、GD庫、PDO、ZIP、ZLIB等熟悉和不熟悉的核心功能與擴展包。PHP7移除了已經(jīng)被廢棄的函數(shù),如mysql_系列函數(shù)在PHP5.5被廢棄,在PHP7被刪除。PHP7的性能高于HHVM。并且是PHP5.6的兩倍。很奇怪的是,沒有PHP6。從PHP的發(fā)展歷史談“工匠精神”PHP的發(fā)展,和人的發(fā)展一樣,都是一步一個腳印,慢慢走出來的,從中體現(xiàn)出了我們常說的“工匠精神”。工匠精神是一種職業(yè)精神,它是職業(yè)道德、職業(yè)能力、職業(yè)品質(zhì)的體現(xiàn),是從業(yè)者的一種職業(yè)價值取向和行為表現(xiàn)。我們每位同學(xué),現(xiàn)在學(xué)習(xí)程序編寫,在學(xué)好程序設(shè)計技術(shù)之后,走上工作崗位會成為程序員、軟件系統(tǒng)運維人員、軟件測試員、售前售后服務(wù)人員等。從PHP的發(fā)展歷史談“工匠精神”在這些職位崗位上,要發(fā)揮工匠精神,精益求精地將程序開發(fā)、系統(tǒng)運維、程序測試、需求分析及技術(shù)問題處理等工作內(nèi)容完成好,保證軟件系統(tǒng)運行時正確、穩(wěn)定,保證客戶的需求被精確采集和納入軟件開發(fā)計劃,保證軟件運行時遇到問題能被及時解決。從PHP的發(fā)展歷史談“工匠精神”同學(xué)們在學(xué)習(xí)時,要將知識夯實、精技強能,方能在今后工作中本領(lǐng)過硬,不出紕漏,工作成果令用戶滿意。大家要認識到,作為職業(yè)人,其專注、敬業(yè)、責(zé)任擔(dān)當(dāng)對完成好本職工作,進而促進軟件行業(yè)整體的高水平、優(yōu)質(zhì)化發(fā)展具有重要意義??偨Y(jié)會員管理系統(tǒng)是多數(shù)項目的重要模塊之一,通過學(xué)習(xí)本項目,我們可以學(xué)會phpStorm軟件的使用、php基本編程語法、mysql數(shù)據(jù)庫的創(chuàng)建、php連接mysql數(shù)據(jù)庫并實現(xiàn)增刪改查的操作等重要內(nèi)容。謝謝項目1會員管理系統(tǒng)任務(wù)1首頁制作創(chuàng)建網(wǎng)站大家準(zhǔn)備好了嗎?我們將從零開始,帶領(lǐng)大家完成第一個項目的制作。首先在E盤創(chuàng)建一個目錄,名為member。然后在phpstudy中配置一個網(wǎng)站,域名為“member”。打開項目打開PhpStorm,在啟動界面中選擇“open”,打開E:/member目錄。創(chuàng)建首頁index.php在項目根目錄member上點擊鼠標(biāo)右鍵,在彈出菜單中選New-PHPFile,創(chuàng)建index.php文件。創(chuàng)建文件后,系統(tǒng)會自動打開此文件。請刪除文件中己有的所有內(nèi)容,然后在文件中輸入html:5,再按下tab鍵,系統(tǒng)會自動創(chuàng)建html5格式文檔基礎(chǔ)標(biāo)簽代碼。將title修改為“會員管理系統(tǒng)”,然后在頁面中創(chuàng)建一個標(biāo)題和五個導(dǎo)航菜單,并添加相應(yīng)的CSS樣式。下面提供相關(guān)代碼:創(chuàng)建首頁index.php預(yù)覽效果此時,我們可以直接打開瀏覽器,然后在地址欄中手動輸入http://member以訪問我們的會員管理系統(tǒng)首頁。預(yù)覽效果如果每次都直接在瀏覽器中去輸入文件URL訪問內(nèi)容,顯得不太方便。我們可以在PhpStorm中部署一下項目,然后就可以使用PhpSotrm自動打開瀏覽器訪問我們的php文件。在PhpStorm中,打開菜單File-Settings,然后找到Build,Execution,Deployment-Deployment選項。項目部署項目部署然后在右邊點擊+,選擇Inplace,然后輸入一個服務(wù)器的名字,這個名字可以任意取,我們就輸入member即可創(chuàng)建好服務(wù)器后,我們在右側(cè)的WebserverURL中,輸入我們在小皮面板中創(chuàng)建好的域名即可項目部署項目部署至此,我們就部署好了項目。接下來,只需要在PhpStorm中,點擊文件編程器右邊的瀏覽器圖標(biāo),系統(tǒng)就會自動打開當(dāng)前文件進行頁面效果查看??偨Y(jié)本次課程,我們在phpstudy中創(chuàng)建了會員管理系統(tǒng)網(wǎng)站,然后在PhpStorm中創(chuàng)建了首頁(主要是導(dǎo)航欄),并完成了內(nèi)容的制作。謝謝項目1會員管理系統(tǒng)任務(wù)2注冊頁面前端制作創(chuàng)建會員注冊頁面singup.php在index.php文件上點擊鼠標(biāo)右鍵,然后選擇copy,然后在member目錄上點擊鼠標(biāo)右鍵,選擇paste,在彈出的窗口中輸入新的文件名:singup,點擊確認即生成singup.php文件。復(fù)制文件的目的,是因為首頁中創(chuàng)建的這個導(dǎo)航鏈接,我們在注冊頁面中也需要。復(fù)制好文件后,我們需要把導(dǎo)航欄中的當(dāng)前欄目修改一下,將“首頁”鏈接上的current樣式刪除,然后在“會員注冊”鏈接上添加current的樣式。創(chuàng)建會員注冊頁面singup.php接下來,在頁面中創(chuàng)建一個注冊表單,代碼如右所示。在注冊頁面中,我們設(shè)計了用戶名(文本框)、密碼(文本框)、重復(fù)密碼(文本框)、信箱(文本框)、性別(單選按鈕)、愛好(多選按鈕)共6個控件。大家在做的時候,也可以自己再設(shè)置一些其他類型的控件。創(chuàng)建會員注冊頁面singup.php需要注意的是,在制作表單時,需要添加在form標(biāo)簽中設(shè)置action屬性,表示點擊“提交”按鈕后,將各項數(shù)據(jù)發(fā)送至哪個網(wǎng)頁文件進行處理。我們這里設(shè)置的是postReg.php,表示點擊“提交”按鈕后,會將用戶填寫的各項數(shù)據(jù)提交至此文件進行下一步的處理。method屬性指定了提交文件的方法,可以設(shè)置get和post兩種方式。下面簡單說一下get和post的區(qū)別。創(chuàng)建會員注冊頁面singup.phpGET提交的數(shù)據(jù)會放在URL之后,以?分割URL和傳輸數(shù)據(jù),參數(shù)之間用&相連,如EditPosts.php?name=boKeYuan&id=123456;POST方法是把提交的數(shù)據(jù)放在HTTP包的Body中。GET提交的數(shù)據(jù)大小有限制(注意:HttpGet方法提交的數(shù)據(jù)大小長度并沒有限制,HTTP協(xié)議規(guī)范沒有對URL長度進行限制,這個限制是特定的瀏覽器及服務(wù)器對它的限制);POST方法提交的數(shù)據(jù)沒有限制。創(chuàng)建會員注冊頁面singup.php對參數(shù)的數(shù)據(jù)類型,GET只接受ASCII字符;而POST沒有限制。GET請求參數(shù)會被完整保留在瀏覽器歷史記錄里;而POST中的參數(shù)不會被保留。GET比POST更不安全,因為參數(shù)直接暴露在URL上,所以不能用來傳遞敏感信息。創(chuàng)建會員注冊頁面singup.php對于表單中的控件而言,每一個控件需要設(shè)置一個name屬性,這個屬性在用于后端文件讀取其數(shù)據(jù)。其中每一組單選按鈕和每一組多選按鈕,其name屬性應(yīng)該保持一致。對于單選、多選、下拉等不能由用戶手動輸入結(jié)果的控件,還需要設(shè)置value屬性,這個屬性的值就是后端文件最終讀取到的值。特別注意,由于多選按鈕可以選多個值,因此,其name屬性要在正常的名字后面添加一對中括號,表示其類型是一個數(shù)組,這樣才能讀取到多個選項的值。預(yù)覽注冊表單打開瀏覽器預(yù)覽一下效果總結(jié)本次課程,我們完成了會員注冊頁面前端表單的制作。這些內(nèi)容應(yīng)該是我們原來學(xué)過的內(nèi)容,我們做了一個復(fù)習(xí),在下次課程中,我們使用php來讀取表單的值,并將前端頁面填寫的值在后端頁面中顯示出來。謝謝項目1會員管理系統(tǒng)任務(wù)3后端數(shù)據(jù)獲取表單設(shè)置在注冊頁面中點擊“提交”按鈕后,系統(tǒng)會自動跳轉(zhuǎn)至action指定的后端頁面。在后端頁面中,我們可以使用$_GET或$_POST全局數(shù)組來獲取前端表單提交的數(shù)據(jù)。至于到底使用哪一個方式來獲取數(shù)據(jù),要根據(jù)前端表單采用的數(shù)據(jù)提交方式來確定。如果前端使用get方式提交數(shù)據(jù),則使用$_GET。如果前端使用post方式提交數(shù)據(jù),則使用$_POST。當(dāng)然,我們也可以使用$_REQUEST全局數(shù)組來讀取前端表單提交的數(shù)據(jù),這個數(shù)據(jù)就不區(qū)分get和post了,均可以讀取。為了在后端能獲取到前端表單填寫的值,我們必須對表單域進行一些設(shè)置。表單設(shè)置每一個表單域應(yīng)該添加一個name屬性。同一組單選框(或復(fù)選框),應(yīng)該添加一個相同的name屬性。對于單選框、復(fù)選框,應(yīng)該要添加一個value屬性。對于復(fù)選框,name屬性應(yīng)該設(shè)置成一個數(shù)據(jù)的形式。點擊表單中的提交按鈕,系統(tǒng)會跳轉(zhuǎn)到form標(biāo)簽中action屬性所指定的頁面去,同時會攜帶相應(yīng)的前端數(shù)據(jù)。攜帶的方式有兩種,通過form標(biāo)簽的method屬性來設(shè)置,可以是get和post兩種。表單設(shè)置get和post的區(qū)別:Get是不安全的,因為在傳輸過程,數(shù)據(jù)被放在請求的URL中;Post的所有操作對用戶來說都是不可見的。Get傳送的數(shù)據(jù)量較小,這主要是因為受URL長度限制;Post傳送的數(shù)據(jù)量較大,一般被默認為不受限制。表單設(shè)置get和post的區(qū)別:Get限制Form表單的數(shù)據(jù)集的值必須為ASCII字符;而Post支持整個ISO10646字符集。但Get執(zhí)行效率比Post高。Get是form提交的默認方法。PHP獲取表單數(shù)據(jù)在注冊頁面中點擊“提交”按鈕后,系統(tǒng)會自動跳轉(zhuǎn)至action指定的后端頁面。在后端頁面中,我們可以使用$_GET或$_POST全局數(shù)組來獲取前端表單提交的數(shù)據(jù)。PHP獲取表單數(shù)據(jù)至于到底使用哪一個方式來獲取數(shù)據(jù),要根據(jù)前端表單采用的數(shù)據(jù)提交方式來確定。如果前端使用get方式提交數(shù)據(jù),則使用$_GET。如果前端使用post方式提交數(shù)據(jù),則使用$_POST。當(dāng)然,我們也可以使用$_REQUEST全局數(shù)組來讀取前端表單提交的數(shù)據(jù),這個數(shù)據(jù)就不區(qū)分get和post了,均可以讀取。PHP獲取表單數(shù)據(jù)在項目中新建文件postReg.php文件,然后在其中輸入以下代碼進行后端數(shù)據(jù)讀取測試。PHP獲取表單數(shù)據(jù)運行singup.php文件,然后在表單中輸入各項數(shù)據(jù),再點擊“提交”按鈕,進入后端頁面,查看運行的結(jié)果PHP獲取表單數(shù)據(jù)在PHP中,預(yù)定義的$_POST變量用于收集來自method="post"的表單中的值,其類型是一個數(shù)組。從帶有POST方法的表單發(fā)送的信息,對任何人都是不可見的(不會顯示在瀏覽器的地址欄),并且對發(fā)送信息的量也沒有限制。然而,在默認情況下,POST方法的發(fā)送信息的量最大值為8MB(可通過設(shè)置php.ini文件中的post_max_size進行更改)。還記得我們在前端表單中給每一個控件設(shè)置的name屬性吧。在后端文件中,我們使用$_POST['username']即可讀取到前端表單中name為username的控件的值。PHP獲取表單數(shù)據(jù)由于多選按鈕是可以選多個值的,因此,前端表單文件中使用了fav[]這樣一個數(shù)組形式的名字,在后端使用$_POST['fav']讀取到的自然也就是一個數(shù)組。在PHP中,我們可以使用echo函數(shù)輸出一個變量的值。但對于數(shù)組而言,無法直接輸出,所以我們使用了一個函數(shù)implode來進行處理。implode()函數(shù)返回一個由數(shù)組元素組合成的字符串,其第一個參數(shù)規(guī)定數(shù)組元素之間放置的內(nèi)容,默認是""(空字符串),我們這里使用了逗號來連接。第二個參數(shù)就是具體的需要處理的數(shù)組。PHP獲取表單數(shù)據(jù)在前端表單中的性別控件,選項“男”,我們設(shè)置的value是1,選項“女”,我們設(shè)置的是0,因此,在后端文件中,讀取到的性別,其值也就是1和0。但如果直接輸出1和0,就不對了,我們需要把1和0轉(zhuǎn)換成男和女來輸出。在這里,我們使用了一個?表達式來完成操作。?表達式相當(dāng)于一個if...esle的雙分支語句,如果?前面的表達式為true,則返回?后面的值,否則,返回:后面的值。在我們這里,就是判斷$sex是否等于1,如果等于1,則輸出“男”,否則,輸出“女”。PHP獲取表單數(shù)據(jù)在echo函數(shù)中,如果要輸出字符串,字直接寫在一對引號或者一對單引號中即可,這里的字符串就會原樣輸出。如果要輸出變量,可以直接把變量放在雙引號中即可。但是,如果在單引號中直接添加變量,此變量不會被解析,將會在瀏覽器中直接顯示變量的名字本身。此時,可以使用連接符來輸出,比如:PHP獲取表單數(shù)據(jù)如果要輸出html標(biāo)簽,請直接在字符串中正常書寫即可,比如,我們在echo函數(shù)中添加了<br>,意思就是輸出一個換行符號??偨Y(jié)本次課程,我們學(xué)習(xí)了使用$_POST讀取前端表單提交的數(shù)據(jù)的方法,還學(xué)習(xí)了一個數(shù)組轉(zhuǎn)字符串的函數(shù)implode的使用。同時,我們也了解了輸出語句的使用,字符串和變量的混合輸出的方法,還了解到了問號表達式的使用。謝謝項目1會員管理系統(tǒng)任務(wù)4創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表使用phpMyAdmin創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表在小皮面板中開啟mysql數(shù)據(jù)庫服務(wù)。進入“數(shù)據(jù)庫”面板,可以查看數(shù)據(jù)庫管理員帳號和密碼。也可以點擊“+創(chuàng)建數(shù)據(jù)庫”直接創(chuàng)建新的數(shù)據(jù)庫,并設(shè)置訪問的用戶名和密碼。管理員帳號默認是root,密碼也是root,此帳號可以訪問和管理當(dāng)前服務(wù)器中的所有數(shù)據(jù)庫。使用phpMyAdmin創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表進入“軟件管理”面板,點擊上方的“工具”欄目,再點擊下方的“數(shù)據(jù)庫工具(客戶端)”,可以安裝第三方工具軟件,用以管理mysql數(shù)據(jù)庫。除了使用工具軟件來管理mysql數(shù)據(jù)庫,我們更常用的是使用web工具來管理數(shù)據(jù)庫,這樣更簡便。使用phpMyAdmin創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表在上方工具欄中點擊“網(wǎng)站程序”,再點擊下方的“數(shù)據(jù)庫工具(web)”,可以看到有一個phpMyAdmin的工具,這個是純網(wǎng)頁版的mysql數(shù)據(jù)庫管理工具,點擊安裝即可。安裝時,需要選擇安裝的位置,一般我們選擇默認的localhost網(wǎng)站即可。使用phpMyAdmin創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表安裝好phpMyAdmin以后,點擊“管理”,即可在網(wǎng)頁中打開phpMyAdmin,如圖2.5.3所示。使用phpMyAdmin創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表有了數(shù)據(jù)庫以后,接下來就是創(chuàng)建數(shù)據(jù)表info,并在info中創(chuàng)建7個數(shù)據(jù)字段,分別是id(ID字段,用于唯一標(biāo)識每一行數(shù)據(jù))、username(用戶名)、pw(密碼)、email(郵箱)、sex(性別)、fav(愛好)、createTime(創(chuàng)建時間)使用phpMyAdmin創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表下面對每一個字段進行說明。id:在創(chuàng)建表字段時,每一張表都要求要有一個id字段,這是表的主鍵,用于標(biāo)識每一行數(shù)據(jù)。其類型為INT,并勾選后面的“A_I”標(biāo)識列,將其設(shè)置成自增(AUTO_INCREMENT)字段。這個字段在以后使用的過程中,創(chuàng)建記錄時,不需要提供值,系統(tǒng)會自動按照順序從1開始,依次提供值。使用phpMyAdmin創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表下面對每一個字段進行說明。username:VARCHAR類型,長度為50,表示最長長度為50個字符的可變字符。意思是,如果只輸入1個字符,則占1個長度。最多可以占用50個長度。pw:CHAR類型,長度為32。我們在數(shù)據(jù)庫中保存密碼時,不能直接保存明文,需要加密后保存密文。我們一般使用md5方式進行加密,常用的md5加密是32字節(jié)的固定長度,因此,我們選擇CHAR類型,長度固定為32字節(jié)。使用phpMyAdmin創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表下面對每一個字段進行說明。email:VARCHAR類型,長度256。sex:TINYINT類型,長度1。fav:VARCHAR類型,長度300。createTime:INT類型。創(chuàng)建時間,可以選擇DATETIME類型,也可以選擇INT類型。在DATETIME類型中,將直接保存年月日時分秒類型的時間。在INT類型中,我們保存的是時間戳。時間戳是一個10位數(shù)的整型數(shù)據(jù),具體是指格林威治時間1970年01月01日00時00分00秒(北京時間1970年01月01日08時00分00秒)起至現(xiàn)在的總秒數(shù)??偨Y(jié)本次課程,我們學(xué)習(xí)了如何安裝phpMyAdmin,學(xué)習(xí)了如何創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表,了解了幾種常用字段類型的含義。創(chuàng)建好了數(shù)據(jù)庫,下一次課,我們就可以開始使用php來連接數(shù)據(jù)庫,并將數(shù)據(jù)寫入數(shù)據(jù)庫。謝謝項目1會員管理系統(tǒng)任務(wù)5將注冊信息寫入數(shù)據(jù)庫php連接mysql數(shù)據(jù)庫并寫入數(shù)據(jù)我們把php對數(shù)據(jù)庫的操作,歸納成了幾個步驟。同學(xué)們只要按照這幾個步驟來操作,就一定能完成。第一步,連接數(shù)據(jù)庫服務(wù)器。我們使用的是mysqli_connect(host,username,password,dbname,port,socket)函數(shù),該函數(shù)將打開一個到MySQL服務(wù)器的新的連接。php連接mysql數(shù)據(jù)庫并寫入數(shù)據(jù)第二步,設(shè)置字符集。我們使用了mysqli_query(connection,query,resultmode)函數(shù),這個函數(shù)的作用是執(zhí)行針對數(shù)據(jù)庫的查詢。第三步,設(shè)SQL語句。所謂的SQL,就是結(jié)構(gòu)化查詢語言(StructuredQueryLanguage)簡稱SQL,是一種特殊目的的編程語言,是一種數(shù)據(jù)庫查詢和程序設(shè)計語言,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫系統(tǒng)。第四步,運行指定的SQL語句。這一步和第二步類似,都是使用了mysqli_query函數(shù)。在這里,我們利用了他的返回值。如果系統(tǒng)成功執(zhí)行了我們給定的SQL語句,$result將為真,否則為假。最后判斷一下這個真假,就知道是否成功插入了新的記錄。運行程序,根據(jù)返回值真假提示注冊是否成功。php連接mysql數(shù)據(jù)庫并寫入數(shù)據(jù)如果出錯,請根據(jù)出錯提示解決問題。比如,以下錯誤,就是mysqli_connect函數(shù)使用的mysql數(shù)據(jù)庫的密碼出錯。php連接mysql數(shù)據(jù)庫并寫入數(shù)據(jù)如果沒有錯誤,則彈窗提示注冊成功。php連接mysql數(shù)據(jù)庫并寫入數(shù)據(jù)進入數(shù)據(jù)庫中,查看新增記錄??偨Y(jié)本次課程,我們學(xué)習(xí)了如何使用php連接mysql數(shù)據(jù)庫,并使用insertinto語句將信息寫入數(shù)據(jù)庫。謝謝項目1會員管理系統(tǒng)任務(wù)6判斷用戶名是否被占用檢查用戶名是否被占用用戶表里的每一條記錄,也就是每一個用戶,他的用戶名應(yīng)該是唯一的。因此,在寫入數(shù)據(jù)庫之前,應(yīng)該要檢查一下當(dāng)前用戶名是否在數(shù)據(jù)庫中已經(jīng)存在了。那如何判斷用戶名是否被占用了呢?我們可以使用SQL語句來查詢一下當(dāng)前數(shù)據(jù)表中,已經(jīng)有哪些用戶名,或者說篩選一下數(shù)據(jù)表記錄,看是否有當(dāng)前用戶名。我們使用了SQL語言中的select關(guān)鍵詞來查詢數(shù)據(jù)記錄。SELECT語句用于從數(shù)據(jù)庫中選取數(shù)據(jù)。結(jié)果被存儲在一個結(jié)果表中,稱為結(jié)果集。進行必要的數(shù)據(jù)驗證在用戶表中,用戶名是必填字段,因此,我們在寫入數(shù)據(jù)庫之前,應(yīng)該做一個驗證,確定用戶名有內(nèi)容。兩次密碼是否相同,也是必須要驗證的。進行必要的數(shù)據(jù)驗證當(dāng)我們在PhpStorm中使用了SQL語句后,我們會發(fā)現(xiàn)編輯器中SQL語句上有黃色底紋。同時,把鼠標(biāo)移至底紋上,系統(tǒng)會出現(xiàn)一些提示信息。進行必要的數(shù)據(jù)驗證這個提示的意思就是說沒有配置數(shù)據(jù)源,也就是IDE沒有配置數(shù)據(jù)庫。同時,也提示我們沒有配置SQLdialect,就是PhpStorm不知道我們用的是哪個數(shù)據(jù)庫SQL,無法給我們智能進行代碼提示。

點擊提示左下角的“Changedialectto...”,將GlobalSQLDialect和ProjectSQLDialect均配置成MySQL即可。進行必要的數(shù)據(jù)驗證配置好SQLDialect后,我們再次將鼠標(biāo)移至SQL語句上,我們發(fā)現(xiàn)系統(tǒng)出現(xiàn)了Configuredatasource的提示。點擊Configuredatasource,進入數(shù)據(jù)源配置界面。先點擊左上角的+號,添加MySQL驅(qū)動為當(dāng)前驅(qū)動,在右側(cè)區(qū)域輸入用戶名、密碼、數(shù)據(jù)庫名稱。進行必要的數(shù)據(jù)驗證配置好上述內(nèi)容后,在PhpStorm的右則,將出現(xiàn)一個Database的標(biāo)簽,點擊可以展開,在其中可以看到當(dāng)前我們所選的member數(shù)據(jù)庫的詳細情況。進行必要的數(shù)據(jù)驗證總結(jié)本次課程,我們學(xué)習(xí)了如何判斷用戶名和密碼是否填寫,以及密碼和確認密碼是否相同,同時,也了解了如何檢查在數(shù)據(jù)表中是否有特定的記錄存在。謝謝項目1會員管理系統(tǒng)任務(wù)7表單驗證前端表單驗證的重要性我們在任務(wù)6中,簡單判斷了一下用戶名是否填寫,并判斷了密碼和確認密碼是否相同。在實際項目開發(fā)中,這遠遠不夠??梢赃@樣講,任何表單,在數(shù)據(jù)提交到后端之前,都應(yīng)該進行數(shù)據(jù)的驗證,確保數(shù)據(jù)的合法有效。前端表單驗證的重要性數(shù)據(jù)的驗證,需要在前端和后端同時進行,這樣做的目的是為了保證系統(tǒng)的安全,減輕服務(wù)器壓力。比如,用戶明明沒有填寫用戶名,還是去點擊提交按鈕,這顯然是沒有意義的。如果在前端不進行判斷和處理,這一次無效的交互,仍然要占用服務(wù)器的時間。另外,我們后端主要是使用SQL語句和數(shù)據(jù)庫進行交互,如果前端不加以限制,可能會輸入一些危險字符,引入SQL注入風(fēng)險。關(guān)于SQL注入的相關(guān)內(nèi)容,大家可以參閱以下鏈接:表單驗證的內(nèi)容在前端進行數(shù)據(jù)驗證,我們一般是使用javaScript來進行數(shù)據(jù)的驗證。為了避免前端繞過javaScript,在后端接收到數(shù)據(jù)后,還需要再一次的進行驗證。在會員注冊表單中,需要驗證的內(nèi)容有:用戶名:必填,只能是大小寫字符、數(shù)字,長度為3-10。密碼:必填,只能是大小寫字符、數(shù)字、_、*,長度為6-10。確認密碼:必填,且必須和密碼保持一致。信箱:格式必須正確,可以不填。愛好:可以不選。表單驗證的方法在單擊“提交”按鈕時,要攔截系統(tǒng)提交,先驗證數(shù)據(jù),合格后再提交表單。只需要在form標(biāo)簽中添加一個onsubmit的事件即可實現(xiàn)提交攔截:表單驗證的方法當(dāng)我們點擊提交按鈕時,會觸發(fā)提交事件,系統(tǒng)會首先跳轉(zhuǎn)至javaScript方法check,如果check返回為真,則系統(tǒng)繼續(xù)提交,如果返回為假,則阻止提交。具體的check方法代碼如下:前端表單驗證的具體代碼前端表單驗證的具體代碼首先,我們用document.getElementsByName讀取名字為'username'的元素,這樣就得到一個數(shù)組。但我們整個頁面中,只有一個username的元素,因此,我們?nèi)〈藬?shù)組的第一個元素,然后讀取其value屬性即可得到用戶輸入的用戶名,再使用trim方法,去除前面的空格。其他幾個數(shù)據(jù)的讀取方式也就是一樣的原理。接下來,我們使用了正則表達式來判斷數(shù)據(jù)的內(nèi)容。前端表單驗證的具體代碼用戶名的驗證:/^[a-zA-Z0-9]{3,10}$/,表示只允許大寫和小寫字母、數(shù)字,長度范圍是3-10。使用test方法進行正則測試,如果返回真,則說明測試通過。如果返回假,則說明測試有誤,此時就會彈窗提示錯誤,并返回false,阻止表單的自動提交。前端表單驗證的具體代碼密碼的驗證:/^[a-zA-Z0-9_*]{6,10}$/,表示只允許大小寫字母、數(shù)字和*,長度范圍是6-10。郵箱的驗證:/^[a-zA-Z0-9_\-]+@([a-zA-Z0-9]+\.)+(com|cn|net|org)$/,這個內(nèi)容復(fù)雜一點,大家可以自己理解一下。后端表單驗證的具體代碼在后端,一般使用php中的內(nèi)置函數(shù)和正則表達式來進行表單數(shù)據(jù)的驗證??偨Y(jié)本次課程,我們學(xué)習(xí)了如何使用正則表達式在前端js中以及后端php中判斷表單數(shù)據(jù)內(nèi)容填寫是否滿足指定的內(nèi)容。這是一項非常重要的內(nèi)容,所有要寫入數(shù)據(jù)庫的內(nèi)容都應(yīng)該進行數(shù)據(jù)合法性以及完整性的驗證。謝謝思政案例:世界十大黑客世界十大黑客不知道同學(xué)們是否有了解“世界十大黑客”的故事。世界十大黑客指的是世界上最頂尖的電腦高手,包括凱文、丹尼斯、李納斯、沃茲尼亞克、湯普森、理查德、德拉浦、雷蒙德、卡普爾、莫里斯等。黑客一詞來源于英文hacker,原指醉心于計算機技術(shù),水平高超的電腦專家,尤其是程序設(shè)計人員,早期在美國的電腦界是帶有褒義的。但在媒體報導(dǎo)中,黑客一詞往往指那些“軟件駭客”(softwarecracker)。世界十大黑客關(guān)于世界十大黑客的詳情,大家可以參閱以下網(wǎng)址:/item/%E4%B8%96%E7%95%8C%E5%8D%81%E5%A4%A7%E9%BB%91%E5%AE%A2/4136968?fr=aladdin世界十大黑客給我們的警示喬納森詹姆斯,因為他的年齡原因,只遭受了輕微的懲罰,他只被判6個月的監(jiān)禁。JonPaulOson,于2008年被正式指控,將遭受5年監(jiān)禁,并支付144,358.83美元給CCC和264,979.00美元給NCHS。MaksymYastremskiy(又名Maksik),2007年7月被土耳其當(dāng)局逮捕后,Maksik被控黑掉了12家土耳其銀行并處以30年的監(jiān)禁,以及23200美元的高額罰金。世界十大黑客給我們的警示凱文米特尼克(KevinMitnick),他入侵了諾基亞、Sun和摩托羅拉公司的系統(tǒng)。當(dāng)局最終在1995年逮捕了米特尼克,那時他已經(jīng)潛逃了兩年,并用朋友給他的一個號碼監(jiān)視對他之前入侵DEC的定罪。米特尼克遭受了46個月的監(jiān)禁,以及為避免之前假釋的另外22個月刑罰。世界十大黑客給我們的警示通過上述部分黑客的結(jié)局,應(yīng)該引起我們的高度重視。我們從事的是軟件編程及其相關(guān)工作,同學(xué)們一定要有網(wǎng)絡(luò)信息安全的意識,每位同學(xué)都要做到以下幾點:世界十大黑客給我們的警示一、樹立正確的網(wǎng)絡(luò)使用意識,不上不正當(dāng)、非法運營網(wǎng)站,為構(gòu)建健康良好的網(wǎng)絡(luò)環(huán)境貢獻自己的一份力量。二、牢牢樹立信息安全意識,知道怎樣安全上網(wǎng),怎樣才能保護自己的信息,以免讓不法分子有機可乘。世界十大黑客給我們的警示三、培養(yǎng)樹立代大學(xué)生應(yīng)有的判斷能力。對于網(wǎng)絡(luò)上的某些反動言論及低俗信息,要決反對,及時舉報,不要為不法分子的惡劣行徑推波助瀾。四、用自己的實際行動去帶動身邊的人,讓更多人注意到網(wǎng)絡(luò)安全、信息安全的重要性,并為此而努力。五、正確使用微博、微信等及社交平臺,傳播積極思想。謝謝項目1會員管理系統(tǒng)任務(wù)8用戶登錄登錄前端表單制作在member目錄上右擊,創(chuàng)建新文件:login.php。登錄頁面和注冊頁面的靜態(tài)內(nèi)容有一定的相似,因此,我們可以直接把singup.php文件的內(nèi)容復(fù)制過來,然后進行修改。首先把導(dǎo)航欄中的當(dāng)前欄目修改一下。在表單中,只保留用戶名和密碼。在javaScript函數(shù)check中,只保留用戶名和密碼的相關(guān)驗證內(nèi)容。登錄前端表單制作接下來,在member目錄上右擊,創(chuàng)建新文件postLogin.php。然后修改form標(biāo)簽中的action屬性,改成postLogin.php。接下來制作后端文件。登錄具體代碼我們在前面制作會員注冊時,已經(jīng)熟悉了php操作數(shù)據(jù)庫的四個步驟。事實上,只要是使用php操作數(shù)據(jù)庫,都需要這幾個步驟。其中第一步和第二步,對每一次操作而言,內(nèi)容都是一樣的,需要重復(fù)在很多個文件中書寫。為了簡便,我們可以把這一段內(nèi)容單獨放在一個文件中,然后在其他文件中進行引用。這樣既可以簡化代碼,又可以在需要修改某些內(nèi)容(比如,修改數(shù)據(jù)庫的用戶名和密碼)時,直接改一個地方,即可實現(xiàn)整個項目對應(yīng)的內(nèi)容都自動修改。登錄具體代碼在member目錄上右擊,創(chuàng)建新的php文件conn.php。然后回到postReg.php文件,將其中的第一步和第二步代碼剪切至conn.php中:登錄具體代碼然后再次回到postReg.php中,在剛才剪切代碼的位置,添加如下代碼:include函數(shù)的作用是包含(導(dǎo)入)參數(shù)中所指定的文件內(nèi)容。我們推薦使用include_once函數(shù),這樣可以保證在同一個頁面只導(dǎo)入一次,避免誤操作重復(fù)導(dǎo)入。登錄具體代碼php中的包含文件,除了可以使用include以外,還可以使用require。他們基本作用是一樣的,區(qū)別在于對錯誤的處理方式不同。require()語句在遇到包含文件不存在時,或是出錯的時候,就會停止即行程序,并報錯。include()則會忽略錯誤,繼續(xù)即行。同樣的,也有require_once方法,可以保證同一個頁面只導(dǎo)入一次文件。同樣的,在postLogin.php中,首先包含conn.php文件。這樣就相當(dāng)于已經(jīng)有數(shù)據(jù)庫操作的第一步和第二步了。登錄具體代碼接下來,我們的任務(wù)就是讀取前端表單數(shù)據(jù),并進行必要的驗證。然后通過SQL查詢,在數(shù)據(jù)表中查詢指定的用戶名和密碼是否存在。如果存在,則用戶登錄成功,否則登錄失敗??偨Y(jié)本次課程,我們主要學(xué)習(xí)了如何實現(xiàn)會員登錄。判斷用戶成功登錄的依據(jù)是,在數(shù)據(jù)表中查詢指定的用戶名和密碼,如果能查詢到記錄,說明登錄成功,查詢不到,則說明登錄失敗,可能是不存在的用戶名、錯誤的密碼等。謝謝項目1會員管理系統(tǒng)任務(wù)9session的使用關(guān)于sessionPHP中的session變量用于存儲關(guān)于用戶會話(session)的信息,或者更改用戶會話(session)的設(shè)置。Session變量存儲單一用戶的信息,并且對于應(yīng)用程序中的所有頁面都是可用的。關(guān)于session您在計算機上操作某個應(yīng)用程序時,您打開它,做些更改,然后關(guān)閉它,這很像一次對話(Session)。計算機知道您是誰,它清楚您在何時打開和關(guān)閉應(yīng)用程序。然而,在因特網(wǎng)上問題出現(xiàn)了:由于HTTP地址無法保持狀態(tài),Web服務(wù)器并不知道您是誰以及您做了什么。關(guān)于sessionPHPsession解決了這個問題,它通過在服務(wù)器上存儲用戶信息以便隨后使用(比如用戶名稱、購買商品等)。然而,會話信息是臨時的,在用戶離開網(wǎng)站后將被刪除。如果您需要永久存儲信息,可以把數(shù)據(jù)存儲在數(shù)據(jù)庫中。關(guān)于sessionsession的工作機制是:為每個訪客創(chuàng)建一個唯一的id(UID),并基于這個UID來存儲變量。UID存儲在cookie中,或者通過URL進行傳導(dǎo)。在您把用戶信息存儲到PHPsession中之前,首先必須啟動會話。開啟會話的方式時,使用代碼session_start(),只是需要注意,session_start()函數(shù)必須位于任何html代碼輸出之前,一般來說,我們可以把它放在程序的第一行。關(guān)于session存儲和取回session變量的正確方法是使用PHP$_SESSION變量。如果您希望刪除某些session數(shù)據(jù),可以使用unset()或session_destroy()函數(shù)。unset()函數(shù)用于釋放指定的session變量,而session_destroy()可以刪除所有的session。關(guān)于session回到我們的postLogin文件,當(dāng)我們登錄成功后,就需要寫入一個session標(biāo)志,用以告訴各個頁面,現(xiàn)在處于登錄狀態(tài)。因為session是可以跨頁面使用的,因此,我們在postLogin頁面寫入的session,可以在當(dāng)前網(wǎng)站下的任何頁面進行讀取。任何需要判斷登錄權(quán)限的地方,只需要讀取特定的session即可知道當(dāng)前是否處于登錄狀態(tài)。因為session是有生命周期的,長時間不操作電腦,session將會過期,過期的session會自動刪除。session的默認生命周期是1440秒,可以在php.ini配置文件中,或者直接在php文件中,重新設(shè)置生命周期。關(guān)于這一部分內(nèi)容,大家

可以自行查閱相關(guān)資料。關(guān)于session以下是postLogin.php文件的完整代碼。我們在頁面開始的地方開啟了會話,在用戶登錄成功后,生成了一個session變量$_SESSION['loggedUsername'],其值就是當(dāng)前的用戶名。如果登錄失敗,則使用unset刪除$_SESSION['loggedUsername']。postLogin.php代碼:登錄中的session代碼<?phpsession_start();//這里省略其他代碼include_once"conn.php";$sql="select*fromuserinfowhereusername='$username'andpw='".md5($pw)."'";$result=mysqli_query($conn,$sql);//返回一個記錄集);if(!$num){unset($_SESSION['loggedUsername'];echo"<script>alert('登錄失敗,錯誤的用戶名或密碼');history.back();</script>";}else{$_SESSION['loggedUsername']=$username;echo"<script>alert('登錄成功');location.href='index.php';</script>";}總結(jié)本次課程,我們學(xué)習(xí)了session的基本知識。session在網(wǎng)站中廣泛使用,常用于登錄判斷、權(quán)限判斷等。$_SESSION是全局數(shù)組,可以跨網(wǎng)頁使用。謝謝項目1會員管理系統(tǒng)任務(wù)10注銷登錄在首頁顯示登錄信息登錄成功后,我們會在首頁顯示登錄者的信息,即用戶名,同時顯示“注銷登錄”鏈接。點擊“注銷登錄”鏈接,跳轉(zhuǎn)至logout.php,銷毀所有session后跳轉(zhuǎn)至首頁。我們已經(jīng)發(fā)現(xiàn),頁面頂部的導(dǎo)航欄,會在每一個頁面顯示,這些代碼在每一個文件中都重復(fù)了一遍,借鑒我們做conn.php的經(jīng)驗,我們也可以用同樣的方法,將導(dǎo)航欄放到一個單獨的文件中去,以優(yōu)化代碼。在首頁顯示登錄信息在member目錄右擊,創(chuàng)建新文件nav.php,并輸入相應(yīng)的代碼。修改index.php、singup.php、login.php文件,在原來導(dǎo)航欄的位置用include_once包含nav.php文件。需要注意的是,我們在nav.php中使用了session,因此,在其他文件中引用此文件之前,都需要先開啟session會話。相關(guān)代碼代碼分析可以看到,我們在導(dǎo)航欄中添加了當(dāng)前登錄者的用戶名和注銷登錄的鏈接。我們使用了一個函數(shù)isset,這個函數(shù)用于判斷一個變量是否存在。If(isset($_SESSION['loggedUsername'])&&$_SESSION['loggedUsername']<>'')的作用是,首先判斷$_SESSION['loggedUsername']是否存在,如果不存在,直接為false。如果存在,再判斷$_SESSION['loggedUsername']是否為空。登錄成功后,$_SESSION['loggedUsername']中保存的是當(dāng)前登錄者的用戶名。如果這兩個條件均為true,則if判斷結(jié)果為真,顯示當(dāng)前登錄者的用戶名和注銷登錄的鏈接。代碼分析將導(dǎo)航欄放至nav.php中,還需要解決當(dāng)前欄目高亮的問題。我們使用的方法是,在nav.php文件中的各個導(dǎo)航鏈接上,添加一個id參數(shù),當(dāng)其他頁面包含了nav.php文件后,在點擊鏈接跳轉(zhuǎn)時,會同時這個id參數(shù),然后我們在nav.php中讀取這個參數(shù),根據(jù)參數(shù)的值,來決定給哪一個欄目添加當(dāng)前欄目指示。這里就涉及到php各個頁面之間參數(shù)傳遞的方法?;镜姆绞骄褪窃趗rl地址后面添加參數(shù),使用?進行地址和參數(shù)的分隔,然后跟上參數(shù)名,用等號連接具體的值,如果有多個參數(shù),使用&連接即可。運行效果總結(jié)本次課程,我們學(xué)習(xí)了注銷登錄的方法。注銷登錄和登錄以后的操作剛好相反。登錄成功以后,我們是寫了一個session標(biāo)志,用以標(biāo)識登錄成功。注銷則是將所有session銷毀,并使用header方法跳轉(zhuǎn)頁面。同時,我們還學(xué)習(xí)了如何通過url地址欄傳參數(shù)。謝謝項目1會員管理系統(tǒng)任務(wù)11會員資料修改在表單中顯示已有資料查看一下我們做好的會員登錄功能,當(dāng)?shù)卿洺晒?,我們保存了登錄會話?biāo)志,然后就沒有做其他操作了,頁面也還是繼續(xù)停留在登錄界面。此時,我們應(yīng)該添加一個跳轉(zhuǎn)功能,要么跳轉(zhuǎn)至首頁,要么跳轉(zhuǎn)至修改個人資料頁面。我們把postLogin.php文件修改一下。登錄成功后,跳轉(zhuǎn)至index.php,登錄失敗后,直接返回上一個頁面。在表單中顯示已有資料我們在nav.php中,已經(jīng)給個人資料修改鏈接添加了目標(biāo)頁面modify.php,因此,我們先在member項目中新建文件modify.php。這個文件的內(nèi)容和singup.php有很多是相似的,可以考慮直接復(fù)制過來進行修改。在修改資料時,首先需要在表單中顯示己有的各項資料。修改資料后,點擊提交按鈕,將各項數(shù)據(jù)提交至后臺,我們可以使用SQL中的update語句來更新表記錄。在表單中顯示已有資料修改資料時,要注意密碼的處理方式??梢钥紤]兩種方式:一是,密碼默認留空,如果要修改,就填寫新的密碼和確認密碼,不填就不修改密碼。二是,在密碼后面添加一個復(fù)選框,勾選代表要修改密碼,不勾選代表不修改密碼。修改資料時,還要注意檢查當(dāng)前用戶是否登錄。只有登錄以后才能修改資料。同時,一般來說,用戶名是不允許修改的。前端代碼前端代碼前端代碼在modifyh.php頁面中,我們使用到了session,因此,我們在頁面最開始的地方添加了session_start()以開啟會話。然后,我們需要判斷當(dāng)前用戶是否登錄。如果沒有登錄,那么修改資料是無意義的。我們先判斷$_SESSION['loggedUsername']是否存在,如果不存在,肯定說明未登錄。如果$_SESSION['loggedUsername']存在,我們就判斷其值是否為空。如果為空,也說明登錄無效。如果未登錄,則彈窗提示,并跳轉(zhuǎn)至登錄界面。由于在多個頁面均需要判斷是否登錄,因此,我們也可以把這一段代碼單獨放至一個

文件中,然后在需要的地方包含即可。前端代碼接下來,我們使用include_once‘nav.php‘;和include_once’conn.php‘;分別包含了導(dǎo)航欄和數(shù)據(jù)庫連接文件。然后,我們使用$sql=“select*frominfowhereusername=’”.$_SESSION[’loggedUsername‘].“‘”;語句來查詢當(dāng)前登錄者的用戶名是否存在,這樣是為了保證當(dāng)前用戶存在,保證后續(xù)操作可靠(這只是為了增加操作的嚴謹性,比如,用戶剛登錄,就被管理員刪除了?)。前端代碼如果當(dāng)前用戶不存在,則顯示提示信息,然后中止程序的執(zhí)行。如果用戶存在,則使用mysqli_fetch_array(result,resulttype);函數(shù)從結(jié)果集中取出一行數(shù)據(jù)并存入$info數(shù)組中。這個數(shù)據(jù),可以是關(guān)聯(lián)數(shù)組,或數(shù)字數(shù)組,或二者兼有。前端代碼其中的愛好需要單獨處理一下,因為數(shù)據(jù)表中的存放的愛好是用逗號將多個值拼接起來的字符串。在前端界面中,為了能自動在相應(yīng)的愛好前面自動勾選,需要將拼接好的字符串重新拆分成數(shù)組。我們使用的函數(shù)是explode(separator,string,limit),explode()函數(shù)使用一個字符串分割另一個字符串,并返回由字符串組成的數(shù)組。接下來就是各項信息在表單中的顯示了。用戶名和信箱很簡單,只需要把值直接顯示在value中即可。因為用戶名是唯一的,因此,不讓修改,我們給用戶名添加了一個readonly的屬性。前端代碼密碼和確認密碼,我們采用的方式是,如果不修改,直接留空。對于單選框,直接判斷當(dāng)前值的真假(數(shù)據(jù)庫中是0和1)即可。多選要稍微麻煩一點,我們使用了函數(shù)in_array。in_array()函數(shù)搜索數(shù)組中是否存在指定的值。后端代碼后端代碼總結(jié)本次課程,我們學(xué)習(xí)了如何修改會員資料,重點內(nèi)容是讀出己有內(nèi)容并在表單中進行顯示。同時,還學(xué)習(xí)了使用update關(guān)鍵詞更新表記錄的方法。謝謝項目1會員管理系統(tǒng)任務(wù)12管理員登錄如何在數(shù)據(jù)表中標(biāo)識管理員前面我們已經(jīng)做好了普通會員的登錄。要實現(xiàn)管理員的登錄,首先需要在數(shù)據(jù)表中標(biāo)識管理員,也就是,怎么確定哪些人員是管理員。普遍的實現(xiàn)方式有兩種。一是,單獨建立一張數(shù)據(jù)表,用來存放管理員。二是,在普通會員表里,增加一列,用來標(biāo)識是否是管理員。如何在數(shù)據(jù)表中標(biāo)識管理員對于第一種方式,在登錄時,需要單獨做一個管理員登錄的頁面,或者在普通會員登錄的時候,添加一個復(fù)選框,用來標(biāo)識是否是管理員登錄。如果是管理員登錄,則后端在判斷用戶名和密碼的時候,就到管理員數(shù)據(jù)表中去查詢。對于第二種方式,和普通會員登錄完全一樣,只是登錄成功后,再判斷一下管理員標(biāo)識列,以判斷當(dāng)前用戶是不是管理員。如何在數(shù)據(jù)表中標(biāo)識管理員管理員登錄成功后,單獨寫一個session標(biāo)識符,用以標(biāo)識管理員登錄。由于session的全局性,我們在任意頁面,要判斷是否是管理員登錄,只需要檢查一下這個session標(biāo)識符即可。如何在數(shù)據(jù)表中標(biāo)識管理員我們前面做好的數(shù)據(jù)庫,里面并無管理員標(biāo)識列。打開phpMyAdmin,找到我們的數(shù)據(jù)表info,點擊“結(jié)構(gòu)”,在下面的“添加1個字段”后面點擊“執(zhí)行”,然后就和創(chuàng)建數(shù)據(jù)表時一樣,正常添加列即可。我們添加的列名是admin,類型可以選擇TINYINT,長度為1,默認值設(shè)置成0(在默認值中,選擇“定義”,然后輸入0即可),表示不是管理員。如果是管理員,這一列的值自然就等于1。最后點擊“保存”完成添加。后端代碼當(dāng)?shù)卿洺晒?,我們使用mysqli_fetch_array函數(shù)從結(jié)果集中讀取一行數(shù)據(jù),然后判斷一下這行數(shù)據(jù)中,admin這一列的值。如果值為1,則在php中用if進行邏輯值判斷就是真,我們就寫一個session變量$_SESSION['isAdmin'],賦值為1,反之,賦值為0。后端代碼如果登錄失敗,則使用unset函數(shù)刪除$_SESSION['isAdmin']和$_SESSION['loggedUsername']。運行效果總結(jié)本次課程,我們學(xué)習(xí)了管理員的登錄,通過登錄成功后,判斷管理員標(biāo)識列來判斷是不是管理員。如果是管理員,通過session來寫入標(biāo)識。謝謝項目1會員管理系統(tǒng)任務(wù)13管理員查看所有會員循環(huán)輸出數(shù)據(jù)表記錄管理員登錄后,可以進行后臺管理。在后臺管理中,首先是查看所有會員的列表。查詢數(shù)據(jù)庫以后,只需要從記錄集中循環(huán)讀取內(nèi)容,并依次輸出即可。所有管理員頁面,都必須在文件中添加權(quán)限判斷的內(nèi)容,以確保是管理員登錄后才能查看此頁面。借鑒我們前面做數(shù)據(jù)庫連接文件的方法,接下來,我們單獨新建一個checkAdmin.php的文件,通過這個文件來判斷是否有管理員權(quán)限。循環(huán)輸出數(shù)據(jù)表記錄接下來,創(chuàng)建admin.php文件。本文件的完整代碼如下:循環(huán)輸出數(shù)據(jù)表記錄接下來,創(chuàng)建admin.php文件。本文件的完整代碼如下:代碼分析首先,我們在文件開始的地方,包含了checkAdmin.php文件,用于判斷當(dāng)前是否處于管理員登錄狀態(tài)。如果狀態(tài)無效,系統(tǒng)會自動跳轉(zhuǎn)至登錄界面。接下來,我們通過$sql="select*frominfoorderbyiddesc";進行數(shù)據(jù)表查詢,查詢以后,通過mysqli_query函數(shù)得到記錄集,再通過while循環(huán),每次取一條數(shù)據(jù),并輸出各列內(nèi)容。在列表中顯示有一個序號,我們是做了一個$i的變量,每次循環(huán)后,給變量加1,然后依次輸出。代碼分析注意,這個序號不要用數(shù)據(jù)表記錄中的id列,因為id可能不會是剛好從1開始,如果有刪除記錄什么的,這個id也不會連續(xù)。在顯示是否管理員時,使用了?表示式,判斷$info['admin']的值,如果為真(也就是1),則顯示“是”,否則顯示“否”。最后一列,是后續(xù)操作要使用的,就是“刪除會員”和“設(shè)置管理員”。代碼分析總結(jié)本次課程,我們學(xué)會了循環(huán)輸出數(shù)據(jù)表記錄的方法,同時,我們了解了如何判斷用戶權(quán)限的方法。謝謝項目1會員管理系統(tǒng)任務(wù)14數(shù)據(jù)分頁數(shù)據(jù)分頁原理數(shù)據(jù)表中的記錄可能會越來越多,甚至上百萬條。如果一次性讀出,會非常不便,同時,也會影響系統(tǒng)性能。分頁的基本原理是,在查詢時,使用limit關(guān)鍵字,只讀取指定條數(shù)的記錄。通過多次讀取,最終顯示所有內(nèi)容。數(shù)據(jù)分頁原理為了方便,特別是為了方便我們初學(xué)者使用分頁,我們提供了一個page.php文件,這個內(nèi)容已經(jīng)包含了分頁的主體代碼,在此基礎(chǔ)之上,我們可以非常簡單的實現(xiàn)數(shù)據(jù)的分頁顯示。下面,我們給出page.php文件的代碼,方便大家自己制作這個文件。page.php文件代碼page.php文件代碼數(shù)據(jù)分頁的實現(xiàn)首先包含page.php文件。然后查詢記錄表的總記錄數(shù)。然后設(shè)定每一頁

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論