




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、電子商務網站建設-PHP+MySQL項目開發(fā)教程第1章 初識PHP 第1章 初識PHP 本章要點:PHP的發(fā)展史、語言特性搭建PHP開發(fā)環(huán)境PHP項目的創(chuàng)建、編輯、運行及測試技能目標:能區(qū)分各種不同的動態(tài)開發(fā)語言能搭建PHP開發(fā)環(huán)境,并熟悉服務器的啟動步驟能使用Dreamweaver CS6編輯、運行、測試PHP程序第1章 初識PHP1.1 項目導入【項目場景】 小王是一個理工科大學的大四畢業(yè)生,想去軟件公司面試,面試官讓小王編寫一個PHP程序,顯示”歡迎小王加入PHP團隊”。第1章 初識PHP【問題引導】(1)如何搭建PHP開發(fā)環(huán)境?(2)如何啟動服務器?(3)如何編輯運行PHP程序?(4)
2、PHP用什么代碼編輯工具?第1章 初識PHP1.2技術與知識準備1.2.1 PHP簡介 PHP是一種在服務器端執(zhí)行的多用途腳本語言。PHP開放源代碼且可嵌入到HTML中,尤其適合動態(tài)網站的開發(fā),現(xiàn)在被很多的網站編程人員廣泛應用。第1章 初識PHP1.2.2 開發(fā)環(huán)境 本教材所用的PHP開發(fā)環(huán)境為WAMP環(huán)境:Windows+Apache+MySQL+PHP,PHP代碼編輯工具使用DreamweaverCS6版本。1.在自己的筆記本上安裝Dreamweaver CS6。2.認識PHP、Apache、MySQL3.PHP+Apache+MySQL的安裝有兩種方法(1)單個安裝并進行配置(2)整合安
3、裝 WampServer第1章 初識PHP1.2.3PHP、ASP.NET、JSP比較語言優(yōu)點缺點ASP.NET1簡潔的設計和實施。2語言靈活,并支持復雜的面向對象特性。3開發(fā)環(huán)境。1數(shù)據庫的連接復雜。2不具有跨平臺性,只支持windows平臺。JSP1一處編寫隨處運行。2系統(tǒng)的多平臺支持。3強大的的可伸縮性。4多樣化和功能強大的開發(fā)工具支持。1與ASP一樣,Java的一些優(yōu)勢正是它致命的問題所在。2缺少系統(tǒng)性的資料。3開發(fā)速度超慢PHP1一種能快速學習、跨平臺、有良好數(shù)據庫交互能力的開發(fā)語言。2簡單輕便,易學易用。3與Apache及其它擴展庫結合緊密。4良好的安全性。1在windows平臺運
4、行的安全性和穩(wěn)定性不如Linux/Unix。第1章 初識PHP1.2.4第一個PHP文件1.在D盤下新建文件夾,取名為myweb。2.啟動Dreamweaver CS6。3.建立本地動態(tài)站點mywebsite。【步驟1】使用菜單“站點”/“新建站點”命令。【步驟2】單擊“站點”下“服務器”選項如圖所示。 【步驟3】在“基本”選項卡內設置新服務器的基本內容。 【步驟4】單擊“高級”選項卡,進行設置。 【步驟5】單擊“保存”按鈕,在彈出的對話框中勾選“測試”復選框。 第1章 初識PHP【步驟6】修改Apache的配置文件,改變網站的保存路徑?!静襟E7】測試動態(tài)站點?!静襟E8】預覽觀察結果。第1章
5、初識PHP1.2.5 PHP語法結構1.XML標記風格(常用) 2.短標記風格 3.ASP標記風格 4.Script標記風格 第1章 初識PHP1.3項目訓練 通過對以上內容的學習,了解了PHP環(huán)境的搭建及PHP項目的創(chuàng)建、編輯和運行,現(xiàn)在回到項目導入的任務中來。【步驟1】創(chuàng)建站點mywebsite,站點文件夾為D:myweb。【步驟2】修改Apache的配置文件,改變網站的保存路徑。第1章 初識PHP【步驟3】使用菜單”文件”/”新建”命令,彈出如圖所示的對話框,頁面類型選擇”PHP”,文檔類型選擇”HTML 5”,單擊”創(chuàng)建”按鈕。第1章 初識PHP【步驟4】在代碼視圖下編寫代碼如下:【步
6、驟5】使用菜單“文件”/“保存”命令,彈出如圖所示的對話框,在保存在中選擇“D:myweb”,文件名為“welcome”,保存類型選擇“PHP File”,單擊“保存”命令。第1章 初識PHP【步驟6】保存后,在文件面板中就出現(xiàn)welcome.php文件,如圖所示: 【步驟7】瀏覽效果 第1章 初識PHP1.4平行項目訓練1訓練內容設計一個”商店計費打折器”,運行效果如圖所示:2訓練目的(1)進一步訓練和鞏固學生對PHP開發(fā)環(huán)境的了解;(2)使學生對PHP頁面的創(chuàng)建、編碼和運行有一個比較深刻的印象和認識。第1章 初識PHP3訓練過程【步驟1】新建頁面,保存為Calculator.php?!静襟E
7、2】編寫代碼,如下所示:?php$price = 500; $Cprice = $price * 0.9; echo 商品原價是:.$price.元;echo 打9折后促銷價是: . $Cprice. 元;?【步驟3】運行結果如圖所示。第1章 初識PHP1.5總結 本單元通過簡單項目示例,介紹了PHP的特性、開發(fā)環(huán)境以及與ASP.NET、JSP的優(yōu)缺點比較,并詳細介紹了PHP環(huán)境的配置,以滿足項目實現(xiàn)的需求,通過一個貫穿項目“歡迎小王加入團隊”和平行項目“商店計費打折器”系統(tǒng)地學習了文件的創(chuàng)建、代碼的編輯以及運行,使學生對學習PHP程序設計增加了信心和情趣。Thank you! 電子商務網站建
8、設-PHP+MySQL項目開發(fā)教程第2章 PHP基礎 第2章 PHP基礎 本章要點:PHP的數(shù)據類型PHP的常量和變量PHP的運算符技能目標:能選擇合適的PHP開發(fā)環(huán)境和集成開發(fā)工具能使用Dreamweaver CS6編輯、運行、測試PHP程序能完成“圓形面積計算器”第2章 PHP基礎 2.1 項目導入【項目場景】 小王去新單位實習后,第一個任務是完成“圓形面積計算器”,要求輸入圓的半徑,能夠計算出其面積。第2章 PHP基礎 【問題引導】(1)如何獲取文本域的值?(2)如何計算圓形面積?(3)如何輸出運行結果?第2章 PHP基礎2.2技術與知識準備2.2.1數(shù)據類型 數(shù)據類型是對各種數(shù)據形態(tài)的
9、描述,如整型、浮點型等。在計算機中,數(shù)據類型的不同決定所占內存存儲空間的大小,使用什么樣的數(shù)據類型要根據實際情況而定,基本原則是既不要浪費存儲空間又不要丟失數(shù)據。在PHP中,支持8種數(shù)據類型,這8種數(shù)據類型又可以分為三類,分別是簡單類型、復合類型和特殊類型。第2章 PHP基礎1.簡單類型 boolean(布爾型):這是最簡單的類型,只有兩種取值,可以為 TRUE/true 或 FALSE/false ,不區(qū)分大小寫。 integer(整型):整型值可以使用十進制,十六進制或八進制表示,前面可以加上可選的符號(- 或者 +)。八進制表示數(shù)字前必須加上 0(零),十六進制表示數(shù)字前必須加上 0 x
10、。 float(浮點型, 也稱作 double):是有小數(shù)點或指數(shù)形式的數(shù)字。 string(字符串):字符型變量不同于其他編程語言有字符與字符串之分,在PHP 中,統(tǒng)一使用字符型變量來定義字符或者字符串。第2章 PHP基礎2.復合類型 array(數(shù)組):數(shù)組型變量是一種比較特殊的變量類型,將在后續(xù)章節(jié)中詳細說明。 object(對象):對象也是一種特殊的數(shù)據類型。要創(chuàng)建object變量,請使用 new 關鍵字。3.特殊類型 resource(資源):源是一種特殊變量,保存了到外部資源的一個引用。資源是通過專門的函數(shù)來建立和使用的。 NULL(NULL):表示一個變量沒有值。NULL 類型唯
11、一可能的值就是 NULL。第2章 PHP基礎2.2.2常量 常量是在程序執(zhí)行期間無法改變的數(shù)據。常量一般用大寫字母表示。 語法格式:define(“常量名”, “常量值”) 說明:常量定義時不需加“$”,常量是全局的,可以在腳本的任何位置引用。 舉例:第2章 PHP基礎2.2.3變量 變量是指在程序運行過程中可以改變的量。變量的作用是存儲數(shù)據。變量必須以“$”開頭,變量名的第二個符號必須是字母或下劃線,后面可以是字母、數(shù)字或下劃線的組合,變量名嚴格區(qū)分大小寫,若兩個變量字母相同,只是大小寫不同,則被視為兩個變量。第2章 PHP基礎2.2.4運算符 變量是指在程序運行過程中可以改變的量。變量的作
12、用是存儲數(shù)據。變量必須以“$”開頭,變量名的第二個符號必須是字母或下劃線,后面可以是字母、數(shù)字或下劃線的組合,變量名嚴格區(qū)分大小寫,若兩個變量字母相同,只是大小寫不同,則被視為兩個變量。第2章 PHP基礎2.2.5表單屬性值描述屬性值描述屬性值描述methodget post規(guī)定用于發(fā)送 form-data 的 HTTP 方法。nameform_name規(guī)定表單的名稱。target_blank _self _parent _top規(guī)定在何處打開 action URLactionURL規(guī)定當提交表單時向何處發(fā)送表單數(shù)據。enctypeapplication/x-www-form-urlencod
13、ed規(guī)定在發(fā)送表單數(shù)據之前如何對其進行編碼。 第2章 PHP基礎2.3項目訓練 通過對以上內容的學習,了解了PHP的數(shù)據類型、常量變量及運算符,現(xiàn)在回到項目導入的任務中來。【步驟1】創(chuàng)建站點mywebsite,站點文件夾為C:myweb,在myweb文件夾中創(chuàng)建文件夾chapter02?!静襟E2】修改Apache的配置文件,改變網站的保存路徑。【步驟3】新建PHP文件,取名為circleCal.php,保存在chapter02中。第2章 PHP基礎【步驟4】在代碼視圖下編寫代碼如下: 圓形面積計算器 請輸入半徑 第2章 PHP基礎【步驟5】運行結果如圖所示。第2章 PHP基礎2.4平行項目訓練
14、1.訓練內容 修改第一章中的“商店計費打折器”,運行效果如圖所示:2.訓練目的(1)進一步訓練和鞏固學生對PHP數(shù)據類型、運算符的理解;(2)使學生對表單、$_POST、$_GET有一個比較深刻的印象和認識。第2章 PHP基礎3.訓練過程【步驟1】新建文件,取名為CalculatorII.php,保存在保存在chapter02中?!静襟E2】在代碼視圖下編寫代碼如下: 打折計算器 請輸入原價 請輸入折扣 折 第2章 PHP基礎 ?phpif(isset($_POSTbutton)$price=$_POSTprice;$zk=$_POSTzk;echo 原價:.$price.折扣:.$zk.折扣價
15、:.$price*$zk/10;?【步驟3】運行結果如圖所示。第2章 PHP基礎2.5總結 本單元通過簡單項目示例,介紹了PHP的常量與變量的定義,并詳細介紹了PHP中的運算符,通過一個貫穿項目“圓形面積計算器”和平行項目“商店計費打折器”系統(tǒng)地學習了變量的定義、表單的創(chuàng)建以及$_POST變量、$_GET的使用,使學生基本掌握了PHP的相關基礎知識。Thank you! 電子商務網站建設-PHP+MySQL項目開發(fā)教程第3章 流程控制 第3章 流程控制 本章要點:if、switchwhile、dowhile、for和foreachbreak和continue技能目標:會編寫if和switch多
16、分支選擇程序代碼會編寫for、while、dowhile和foreach循環(huán)程序代碼學會使用程序設計規(guī)范第3章 流程控制3.1 項目導入【項目場景】 小王是一個PHP程序員,某天,領導讓小王設計一個登陸頁面,當用戶名和密碼分別為”tcsym”和”123456”,顯示登陸成功,否則,就顯示登陸失敗,效果如圖所示:第3章 流程控制【問題引導】(1)如何判斷用戶名和密碼是否正確?(2)選擇結構如何使用?(3)如何解決頁面的跳轉問題?第3章 流程控制3.2技術與知識準備3.2.1 順序結構 順序結構是最基本的結構方式,各流程依次按順序執(zhí)行。順序結構的流程圖如圖所示:第3章 流程控制3.2.2選擇結構1
17、.if條件控制語句語法格式:if(條件表達式) 語句體這種結構是單純的判斷,當表達式成立時,執(zhí)行語句體。流程圖如圖所示:第3章 流程控制2.ifelse語句語法結構:if(條件表達式)語句體1else 語句體2當條件成立時,執(zhí)行語句體1,否則,執(zhí)行語句體2,流程圖如圖所示:第3章 流程控制3.ifelseif語句語法結構:if(條件表達式1)語句體1elseif(條件表達式2)語句體2elseif(條件表達式3)else語句體n第3章 流程控制4.switch語句語法結構switch(表達式)case n1:語句1;break;case n2:語句2;break;default:語句n;第3章
18、 流程控制【示例1】輸入一個年份,判斷是否是閏年,運行結果如圖所示:第3章 流程控制【示例2】簡易計算器,運行結果如圖所示:第3章 流程控制3.2.3循環(huán)結構1. while語法格式while(條件表達式)循環(huán)體第3章 流程控制2. dowhile語法格式:do循環(huán)體while(條件表達式)第3章 流程控制3. for語法格式:for(表達式1;表達式2;表達式3)循環(huán)體第3章 流程控制【示例3】用while語句實現(xiàn)1+2+100,運行結果如圖所示:【示例4】實現(xiàn)九九乘法表,運行結果如圖所示:第3章 流程控制3.2.4 break與continue break語句用在循環(huán)體中。當程序執(zhí)行到br
19、eak語句時,就會立即結束當前循環(huán)。 continue用于提前結束本次循環(huán),跳過剩余的代碼,在條件為真的情況下開始執(zhí)行下一次循環(huán)?!臼纠?】輸入一個數(shù),判斷是否是素數(shù),運行結果如圖所示:第3章 流程控制3.3項目訓練 通過對以上內容的學習,對順序結構、選擇結構和循環(huán)結構有了一定的了解,現(xiàn)在回到項目導入的任務中來。【步驟1】新建頁面login.php。【步驟2】新建dologin.php,用來對輸入的用戶名和密碼進行驗證,代碼如下所示:第3章 流程控制【步驟3】新建welcome.php,顯示”歡迎進入PHP世界!” 第3章 流程控制3.4平行項目訓練1訓練內容輸出1100之間不能被3整除的數(shù),
20、要求每行輸出10個數(shù)。運行結果如圖所示:2訓練目的(1)進一步訓練和鞏固學生對順序結構、選擇結構、循環(huán)結構的理解;(2)使學生掌握選擇結構語言、循環(huán)結構語言以及break、continue的運用。第3章 流程控制3訓練過程【步驟1】新建頁面,取名為ex3_6.php。 【步驟2】編寫代碼,如下所示:?php $x=0;for($i=1;$i=100;$i+)if($i%3=0)continue;echo $i.t;$x+;if($x=10)$x=0;echo ;?第3章 流程控制【步驟3】運行結果如圖所示。第3章 流程控制3.5總結 本單元通過簡單項目示例,介紹了程序流程控制語句,并詳細講解了
21、continue與break語句在程序中的應用,通過一個貫穿項目“登陸系統(tǒng)”和平行項目“輸出不是3的倍數(shù)”系統(tǒng)地學習了順序結構、選擇結構以及循環(huán)結構的組合使用。Thank you! 電子商務網站建設-PHP+MySQL項目開發(fā)教程第4章 數(shù)組、函數(shù)與字符串 第4章 數(shù)組、函數(shù)與字符串 本章要點:PHP函數(shù)的定義和調用PHP中數(shù)組的定義與應用PHP中字符串的應用技能目標:能編寫函數(shù)并且調用函數(shù)能熟練應用PHP的數(shù)組能綜合運用函數(shù)進行數(shù)據處理第4章 數(shù)組、函數(shù)與字符串4.1 項目導入【項目場景】 跳水比賽,8個評委打分,運動員的成績是8個成績去掉一個最高分和去掉一個最低分,剩下6個分數(shù)的平均分就是
22、最后得分。使用一維數(shù)組實現(xiàn)打分功能,并且把最高分和最低分的評委找出來。效果如圖所示:第4章 數(shù)組、函數(shù)與字符串【問題引導】(1)如何定義并初始化一維數(shù)組?(2)如何使用一維數(shù)組實現(xiàn)打分功能?(3)如何尋找一維數(shù)組的最高分和最低分?第4章 數(shù)組、函數(shù)與字符串4.2技術與知識準備4.2.1數(shù)組1.索引數(shù)組 - 帶有數(shù)字索引的數(shù)組PHP索引數(shù)組有兩種創(chuàng)建索引數(shù)組的方法:(1)索引是自動分配的(索引從 0 開始):$cars=array(斯巴魯,JEEP,奧迪);(2)手動分配索引:$cars0= 斯巴魯;$cars1= JEEP ;$cars2= 奧迪;遍歷并輸出索引數(shù)組的所有值,需要使用 for
23、循環(huán)。第4章 數(shù)組、函數(shù)與字符串【示例1】初始化及顯示索引數(shù)組值?php$cars=array(斯巴魯,JEEP,奧迪);$arrlength=count($cars);for($x=0;$x$arrlength;$x+) echo $cars$x; echo ; ?第4章 數(shù)組、函數(shù)與字符串2.關聯(lián)數(shù)組 - 帶有指定鍵的數(shù)組關聯(lián)數(shù)組是使用分配給數(shù)組的指定鍵的數(shù)組,有兩種創(chuàng)建關聯(lián)數(shù)組的方法:(1)$age=array(Peter=35,Ben=37,Joe=43);(2)$agePeter=35;$ageBen=37;$ageJoe=43;【示例2】初始化及顯示關聯(lián)數(shù)組值第4章 數(shù)組、函數(shù)與字
24、符串數(shù)組的函數(shù)很多,下面我們來介紹一下:1.array()創(chuàng)建數(shù)組可以使用array()函數(shù),語法如下:array($Keys=$values,)例如:$cars=array(斯巴魯,JEEP,奧迪);$age=array(Bill=35,Steve=37,Peter=43);2.print_r()按照一定格式顯示鍵名和值。例如:輸出結果:Array ( 0 = Dog 1 = Cat 2 = Horse )第4章 數(shù)組、函數(shù)與字符串3.count()函數(shù)獲得數(shù)組的長度,用于返回數(shù)組的長度(元素數(shù))。4. list()把數(shù)組中的值賦給一些變量。例如:輸出結果為:Dog, Cat, Horse第
25、4章 數(shù)組、函數(shù)與字符串pact()函數(shù)創(chuàng)建包含變量名和它們的值的數(shù)組。輸出結果:Array ( n = 太倉 s = 健雄 arr = Array ( 0 = red 1 = green 2 = blue ) )第4章 數(shù)組、函數(shù)與字符串6.range()函數(shù)創(chuàng)建包含指定范圍單元的數(shù)組。例如:輸出結果:Array ( 0 = 1 1 = 2 2 = 3 3 = 4 4 = 5 )第4章 數(shù)組、函數(shù)與字符串7.in_array()檢查數(shù)組中是否存在指定的值。例如:輸出結果:匹配已找到第4章 數(shù)組、函數(shù)與字符串8.array_search()array_search() 函數(shù)在數(shù)組中搜索某個鍵值
26、,并返回對應的鍵名。如果找到了該值,匹配元素的鍵名會被返回。如果沒找到,則返回 false。輸出結果:0第4章 數(shù)組、函數(shù)與字符串9.key()從關聯(lián)數(shù)組中取得鍵名。例如:35,Ben=37,Joe=43);echo key($age);?輸出結果:Peter第4章 數(shù)組、函數(shù)與字符串4.2.2函數(shù) PHP 除了內建的 PHP 函數(shù),我們可以創(chuàng)建自己的函數(shù)。函數(shù)是可以在程序中重復使用的語句塊。頁面加載時函數(shù)不會立即執(zhí)行。函數(shù)只有在被調用時才會執(zhí)行。在 PHP 創(chuàng)建用戶自定義函數(shù),聲明以關鍵詞 function 開頭,語法:function functionName() 被執(zhí)行的代碼;第4章 數(shù)
27、組、函數(shù)與字符串【示例3】兩數(shù)相加案例【示例4】改進兩數(shù)相加案例第4章 數(shù)組、函數(shù)與字符串【示例5】求1+2!+3!+.+5!的和第4章 數(shù)組、函數(shù)與字符串4.2.3 字符串1.strlen() 函數(shù)strlen() 函數(shù)返回字符串的長度,以字符計。2.strpos() 函數(shù)strpos() 函數(shù)用于檢索字符串內指定的字符或文本。如果找到匹配,則會返回首個匹配的字符位置。如果未找到匹配,則將返回 FALSE。3.echo()輸出一個或多個字符串。第4章 數(shù)組、函數(shù)與字符串4.print()、printf()print()是輸出字符串,printf()是輸出格式化的字符串。5.strtolowe
28、r()、strtoupper()strtolower()把字符串轉換為小寫字母strtoupper()把字符串轉換為大寫字母。6.trim()、ltrim()、rtrim()trim()移除字符串兩側的空白字符和其他字符。ltrim()移除字符串左側的空白字符或其他字符。rtrim ()移除字符串右側的空白字符或其他字符。第4章 數(shù)組、函數(shù)與字符串7.str_replace()、substr_replace()str_replace()替換字符串中的一些字符(對大小寫敏感)。substr_replace()把字符串的一部分替換為另一個字符串。第4章 數(shù)組、函數(shù)與字符串8.字符串的比較:strc
29、mp()、strcasecmp()、strncmp()、strncasecmp()strcmp()用于區(qū)分大小寫的字符串的比較strcasecmp()用于不區(qū)分大小寫的字符串的比較strncmp()用于比較字符串的一部分strncasecmp()作用與strncmp()函數(shù)一樣,只是不區(qū)分大小寫9.explode()、implode()explode()把字符串打散為數(shù)組。implode()返回由數(shù)組元素組合成的字符串。第4章 數(shù)組、函數(shù)與字符串【示例6】字符串替換案例,運行結果如圖所示:第4章 數(shù)組、函數(shù)與字符串4.3項目訓練 通過對以上內容的學習,了解了函數(shù)的創(chuàng)建和調用、數(shù)組的定義與應用以
30、及PHP中的字符串,現(xiàn)在回到項目導入的任務中來?!静襟E1】創(chuàng)建站點mywebsite,站點文件夾為C:myweb?!静襟E2】修改Apache的配置文件,改變網站的保存路徑。【步驟3】新建頁面取名為refereeJudge.php,保存在chapter04文件夾中。【步驟4】在代碼視圖下編寫代碼如下:第4章 數(shù)組、函數(shù)與字符串?phpif(isset($_POSTsub)$p1=$_POSTone;$p2=$_POSTtwo;$p3=$_POSTthree;$p4=$_POSTfour;$p5=$_POSTfive;$p6=$_POSTsix;$p7=$_POSTseven;$p8=$_POST
31、eight;$arr = array($p1,$p2,$p3,$p4,$p5,$p6,$p7,$p8);$total=0;第4章 數(shù)組、函數(shù)與字符串for($i=0;$icount($arr);$i+) $total+=$arr$i;$last=($total-max($arr)-min($arr)/(count($arr)-2);echo 除去最高分和最低分的最后得分為:.($total-max($arr)-min($arr).;echo 除去最高分和最低分的最后得分的平均分為:.round($last,3).;$max_k=array_search(max($arr),$arr);$min
32、_k=array_search(min($arr),$arr);echo 最高分是第.($max_k+1).評委打.max($arr).分;echo 最低分是第.($min_k+1).評委打.min($arr).分;?第4章 數(shù)組、函數(shù)與字符串4.4平行項目訓練1訓練內容定義一個函數(shù),實現(xiàn)星星的輸出,運行結果如圖所示:2訓練目的(1)進一步訓練和鞏固學生對函數(shù)定義與調用的理解;(2)使學生對函數(shù)定義、表單、文本域等有一個比較深刻的印象和認識。第4章 數(shù)組、函數(shù)與字符串3訓練過程【步驟1】新建頁面,取名為inputStar.php,保存在chapter04?!静襟E2】在代碼視圖中編寫代碼:?ph
33、pfunction f1($x)for($i=1;$i=$x;$i+) for($k=0;$k+$i=$x;$k+) echo *t; echo ;if(isset($_POSTbutton)f1($_POSTtextfield);?第4章 數(shù)組、函數(shù)與字符串4.5總結 本單元通過簡單項目示例,介紹了函數(shù)的定義與調用以及參數(shù)的傳值,并詳細介紹了字符串函數(shù)以及數(shù)組的定義與初始化,通過一個貫穿項目“裁判打分”和平行項目“星星矩陣”系統(tǒng)地學習了函數(shù)的定義、數(shù)組的定義與初始化及求平均等,使學生能夠掌握數(shù)組、字符串及函數(shù)的相關知識。Thank you! 電子商務網站建設-PHP+MySQL項目開發(fā)教程第
34、5章 文件與目錄 第5章 文件與目錄 本章要點:PHP中文件的操作PHP中目錄的操作技能目標:操作系統(tǒng)的文件與目錄能綜合運用函數(shù)進行數(shù)據處理第5章 文件與目錄5.1 項目導入【項目場景】 開發(fā)一個文件讀取系統(tǒng)。能夠創(chuàng)建文件,在文件中寫內容。又能讀取硬盤上的某個文件,在頁面中顯示文件的相應內容,運行效果如圖所示:第5章 文件與目錄【問題引導】(1)如何創(chuàng)建文件?(2)如何讀取文件的內容?(3)如何把內容寫入文件中?第5章 文件與目錄5.2技術與知識準備5.2.1目錄 1.新建目錄 使用mkdir()函數(shù)可以根據提供的目錄名或目錄的全路徑創(chuàng)建新的目錄,如果創(chuàng)建成功,則返回True,否則返回Fals
35、e。 例如在當前目錄下創(chuàng)建一個hellosym的目錄。第5章 文件與目錄2.刪除目錄 使用rmdir()函數(shù)可以刪除一個空目錄,如果目錄不為空,則必須先刪除目錄中的所有文件才能刪除目錄。例如將剛才的hellosym目錄刪除。3.獲取當前工作目錄 當前工作目錄是指正在運行的文件所在的目錄,使用getcwd()函數(shù)可以取得當前的工作目錄,該函數(shù)沒有參數(shù),成功則返回當前的工作目錄,失敗則返回False。 /輸出結果:c:myweb第5章 文件與目錄4.打開或關閉目錄句柄 文件和目錄的訪問都是通過句柄來實現(xiàn)的,使用opendir()函數(shù)則可以打開一個目錄句柄,該函數(shù)的參數(shù)是打開的目錄路徑,打開成功則返
36、回True,失敗則返回False。使用完一個已經打開的目錄句柄后,要使用closedir()函數(shù)來關閉這個句柄。5.獲取指定路徑的目錄和文件 scandir()函數(shù)可列出指定目錄中的文件和目錄,語法格式如下:array scandir(string $directory,int $sorting_order,resource $context)$directory為指定路徑 $context是一個資源變量$sorting_order默認按字母升序排列,如果設為1,則表示按字母的降序排列。第5章 文件與目錄6.對象是否是目錄 使用is_dir()函數(shù)檢查上級目錄下的目標對象logo.jpg是否是
37、目錄。如果目標對象是目錄系統(tǒng)返回true,否則返回false。$checkResult = is_dir(./logo.jpg);7.獲取目錄中的所有文件名(1)先打開要操作的目錄,并用一個變量指向它。(2)循環(huán)的讀取目錄下的所有文件。第5章 文件與目錄(3)目錄下都會有兩個文件,名字為.和.,不要對他們進行操作(4)進行處理(5)關閉目錄【示例1】要求使用opendir函數(shù)、readdir()、closedir()三個函數(shù)編寫讀取chapter05 目錄下所有的文件及文件夾名稱。第5章 文件與目錄5.2.2文件1.打開文件2.關閉文件文件處理完畢,需要使用fclose()函數(shù)關閉文件,語法格
38、式如下:fclose(resource $handle)3.寫入文件 fwrite()函數(shù):文件打開后,向文件中寫入內容可以使用fwrite()函數(shù),語法格式如下:int fwrite(resource $handle,string $string,int $length)第5章 文件與目錄4.讀取文件(1)fread()(2)file()、readfile()(3)fgets()fgets() 函數(shù)用于從文件讀取單行。(4)fgetc()fgetc() 函數(shù)用于從文件中讀取單個字符。(5)file_get_contents()將整個或部分文件內容讀取到一個字符串中,功能與依次調用fopen(
39、)、fread()和fclose()的功能一樣。第5章 文件與目錄5.刪除文件例如:刪除當前目錄下的a.txt$deleteResult =unlink(a.txt);6.判斷文件是否存在file_exists例如:檢查上級目錄下的文件logo.jpg是否存在。$existResult = file_exists(“./logo.jpg”);說明:如果文件存在系統(tǒng)返回true,否則返回false。7.文件大小函數(shù)例如:獲取上級目錄下的文件logo.png的大小。$size = filesize(./logo.png);說明:系統(tǒng)會返回一個數(shù)字,表示文件的大小是多少字節(jié)(bytes)。第5章 文
40、件與目錄8.復制文件函數(shù)例如:將當前目錄下的a.txt,復制到上一級目錄的chapter04目錄中,重命名為ab.txt。9.重命名文件函數(shù)10.文件指針操作函數(shù)(1)feof該函數(shù)檢測是否已到達文件末尾 (eof)。(2)rewind該函數(shù)將文件指針的位置倒回文件的開頭。(3)ftell返回在打開文件中的當前位置。(4)fseek第5章 文件與目錄【示例2】創(chuàng)建一程序,讀取chapter05文件夾下的file.txt文件,并在頁面上顯示出來。第5章 文件與目錄5.3項目訓練 通過對以上內容的學習,了解了文件和目錄的操作及其函數(shù),現(xiàn)在回到項目導入的任務中來?!静襟E1】創(chuàng)建站點mywebsite
41、,站點文件夾為C:myweb?!静襟E2】修改Apache的配置文件,改變網站的保存路徑。【步驟3】新建文件,取名為ex5_3.php,保存到chapter05文件夾中。進行頁面布局。 第5章 文件與目錄【步驟4】編寫PHP代碼:?phpif(isset($_POSTread)$filename=$_POSTrfilename;$fp=fopen($filename, r);$content=;while(!feof($fp)$data=fread($fp,8192);$content.=$data;第5章 文件與目錄echo $content;fclose($fp); if(isset($_P
42、OSTwrite)$content=$_POSTtextarea;$filename=$_POSTwfilename;$fp=fopen($filename, w);$n=fwrite($fp, $content);if($n!=0)echo alert(寫入成功!);elseecho alert(寫入失敗!);fclose($fp); ? 第5章 文件與目錄5.4平行項目訓練1訓練內容實現(xiàn)文件的復制與移動。運行效果如圖所示:2訓練目的(1)進一步訓練和鞏固學生對文件的操作;(2)使學生對復制與移動文件有一個比較清晰的了解。第5章 文件與目錄3訓練過程【步驟1】新建文件ex5_4.php,保存
43、在chapter05文件夾中。進行頁面布局,代碼如下:【步驟2】編寫PHP代碼:?phpif(isset($_POSTcbutton)$source=$_POSTycopy;$destination=$_POSTmcopy;$result=copy($source, $destination);第5章 文件與目錄if($result=true)echo alert(復制成功!);elseecho alert(復制失敗!);if(isset($_POSTmbutton)$source=$_POSTymove;$destination=$_POSTmmove;$result=copy($sourc
44、e, $destination);unlink($source);第5章 文件與目錄if($result=true)echo alert(移動成功!);elseecho alert(移動失敗!);?第5章 文件與目錄5.5總結 本單元通過簡單項目示例,介紹了目錄的創(chuàng)建、刪除,并詳細講解了文件的讀取、寫入以及復制和移動等操作,通過一個貫穿項目“文件讀取系統(tǒng)”和平行項目“文件的復制與移動”系統(tǒng)地學習了文件的打開、關閉、讀取與寫入等操作。Thank you! 電子商務網站建設-PHP+MySQL項目開發(fā)教程第6章 面向對象程序設計 第6章 面向對象程序設計 本章要點:了解面向對象的概念掌握類、對象的
45、概念和關系掌握面向對象的三大特性:繼承、重載與封裝技能目標:能了解面向對象與面向過程編程的特點能合理使用面向對象中的常用關鍵字能根據掌握的面向對象知識實現(xiàn)新華書店收銀計算器功能第6章 面向對象程序設計6.1 項目導入【項目場景】 小李在新華書店購買文具,計劃購買任意的兩樣文具,小李感覺應該編寫一個簡易的“新華書店計算器”來精確地計算最終文具的總價。為了便于實現(xiàn),限定購買兩樣文具。第6章 面向對象程序設計【問題引導】(1)如何創(chuàng)建文具類?(2)如何創(chuàng)建文具對象來描述文具?(3)文具如何計算價格? 第6章 面向對象程序設計6.2技術與知識準備6.2.1 類與對象 類是面向對象編程中的基本單位,它是
46、具有相同屬性和功能方法的集合。在類里擁有兩個基本的元素:成員屬性和成員方法。 對象是類的實例,對象擁有該類的所有屬性和方法。因此對象建立在類基礎上,類是產生對象的基本單位。第6章 面向對象程序設計1.類的定義name; ?第6章 面向對象程序設計2.類的實例化name; $stu=new student();echo $stu-getStuInfo(); ?第6章 面向對象程序設計3.注意點(1)類名不可與內置關鍵字或函數(shù)重名(2)類名只能英文大小寫字母或_開頭(3)類名如果是多個單詞的組合,則建議從第二個單詞開始首字母大寫【示例1】新建汽車類,實現(xiàn)如圖所示效果第6章 面向對象程序設計【示例2
47、】定義圓柱體體積的類CylinderVol,定義圓柱體表面積的類CylinderArea,要求計算表面積和體積,運行結果如圖所示:第6章 面向對象程序設計6.2.2 構造方法與析構方法 大多數(shù)類都有一個稱為構造方法的特殊方法。當創(chuàng)建一個對象時,它將自動調用構造方法,也就是使用new關鍵字來實例化對象時自動調用構造方法。構造方法的聲明與其他操作的聲明一樣,就是其名稱必須是_construct()。這里要注意的是construct前面是兩個下劃線。在一個類中只能聲明一個構造方法,而且在每次創(chuàng)建對象時都會調用一次構造方法,不能主動地調用這個方法,通常用它執(zhí)行一些初始化任務。第6章 面向對象程序設計【
48、示例3】將示例2改用構造方法來實現(xiàn)初始化?!臼纠?】定義學生類,實現(xiàn)如圖所示效果:第6章 面向對象程序設計【示例5】析構方法示例,如圖所示:第6章 面向對象程序設計6.2.3繼承與重載 面向對象編程的三大基本要素是繼承、封裝和多態(tài)。繼承是PHP5面向對象程序設計的重要特性之一,它是指建立一個新的派生類,從一個或多個先前定義的類中繼承數(shù)據和函數(shù),而且可以重新定義或加進新數(shù)據和函數(shù),從而建立了類的層次或等級。如果一個類A繼承自另一個類B,就把A稱為B的子類,而把B稱為A的父類。第6章 面向對象程序設計【示例6】定義父類person,定義子類student和teacher,實現(xiàn)如圖所示效果:第6章
49、面向對象程序設計6.2.4 封裝 封裝性是面向對象編程中的三大特性之一。封裝性就是把對象的屬性和服務結合成一個獨立的單位,并盡可能隱藏對象的內部細節(jié)。第6章 面向對象程序設計6.2.5 多態(tài) 多態(tài)是指在面向對象中能夠根據使用類的上下文來重新定義或改變類的性質和行為。PHP不支持重載實現(xiàn)多態(tài),但是PHP可以變向的實現(xiàn)多態(tài)效果。【示例7】多態(tài)示例,運行效果如圖所示:第6章 面向對象程序設計6.2.6抽象方法和抽象類 什么是抽象方法呢?人們在類里面定義的沒有方法體的方法就是抽象方法。所謂沒有方法體指的是在方法聲明的時候沒有大括號以及其中的內容,而是在聲明時直接在方法名小括號后加上分號結束。另外,在聲
50、明抽象方法時還要加一個關鍵字abstract來修飾。抽象類也是使用abstract關鍵字來修飾。在抽象類中至少有一個方法是抽象方法,用abstract來修飾類。第6章 面向對象程序設計6.3項目訓練 通過對以上內容的學習,了解了類的創(chuàng)建方法,如何編寫構造方法,如何實現(xiàn)繼承等。現(xiàn)在回到項目導入的任務中來。【步驟1】創(chuàng)建站點mywebsite,站點文件夾為C:myweb。【步驟2】修改Apache的配置文件,改變網站的保存路徑。【步驟3】新建文件,取名為stationeryCal.php,保存在chapter06文件夾中?!静襟E4】進行頁面布局。第6章 面向對象程序設計【步驟5】編寫PHP代碼:n
51、um1=$n1;$this-num2=$n2;$this-price1=$n3;$this-price2=$n4;第6章 面向對象程序設計function Cal()$sum=$this-num1*$this-price1+$this-num2*$this-price2;return $sum;if(isset($_POSTcal)$p1=$_POSTp1;$p2=$_POSTp2;$num1=$_POSTnum1;$num2=$_POSTnum2;第6章 面向對象程序設計$calculator=new price($num1,$num2,$p1,$p2);$sum=$calculator-C
52、al();echo 購買商品1:.$num1.件,單價:.$p1.元;echo 購買商品2:.$num2.件,單價:.$p2.元;echo 總計為:.$sum;?第6章 面向對象程序設計6.4平行項目訓練1.訓練內容設計一個學生信息系統(tǒng),實現(xiàn)如圖所示效果:2.訓練目的(1)掌握面向對象思想,學會類的創(chuàng)建、屬性和方法的定義;(2)學會對象的創(chuàng)建及繼承的運用等。第6章 面向對象程序設計3.訓練過程【步驟1】新建頁面,取名為stu.php,保存在chapter06文件夾中?!静襟E2】主要代碼如下:$xstu=new xStudent(1201,王麗,女,江蘇太倉,二(4)班);$xstu-showI
53、nfo();$xstu=new dStudent(13001,孫明,男,江蘇南京,軟件與服務外包學院);$xstu-showInfo();第6章 面向對象程序設計6.5總結 本單元通過簡單項目示例,介紹了類和對象的概念,類的成員屬性和成員方法的定義,構造方法和析構方法的定義及應用等,又詳細介紹了面向對象編程的三大基本要素:繼承、封裝和多態(tài)。通過一個貫穿項目“新華書店計算器”和平行項目“學生信息系統(tǒng)”系統(tǒng)地學習了類的定義和實例化,構造方法的運用等,使學生對面向對象編程有一個具體的了解。Thank you! 電子商務網站建設-PHP+MySQL項目開發(fā)教程第7章 表單設計 第7章 表單設計本章要點
54、:了解表單的常用屬性掌握表單控件內容的檢測方法掌握網頁中調用JavaScript腳本的方法技能目標:能檢查提交表單數(shù)據的正確性能在表單中正確插入文本域、文本區(qū)域等表單控件能熟練設置表單控件的屬性第7章 表單設計7.1 項目導入【項目場景】 開發(fā)一個人事管理系統(tǒng),能夠實現(xiàn)人員的注冊功能,運行結果如圖所示:第7章 表單設計【問題引導】(1)如何設置單選按鈕、復選框屬性?(2)如何獲取表單控件的值?(3)如何獲取復選框的值?第7章 表單設計7.2技術與知識準備7.2.1表單 常常我們使用在一個網頁中數(shù)據提交標簽,比如我們留言板、評論等可以填寫數(shù)據,標簽提交處理地方都需要表單標簽,而form表單標簽內
55、放輸入框input、單選、多選、提交按鈕等標簽內容,而輸入框、單選、多選、按鈕等控件都可以使用表單標簽input實現(xiàn),只需賦予不同type值即可實現(xiàn)不同表單控件功能。第7章 表單設計7.2.2 表單控件1. 標簽: 主要用于收集用戶信息,可根據不同的type屬性值,擁有多種形式。2. 標簽: 可創(chuàng)建單選或多選菜單,類似于winform的combox或listbox。3. 標簽: 多行文本區(qū)域,可以通過 cols 和 rows 屬性來設定 textarea 的尺寸。第7章 表單設計7.2.3$_POST、$_GET和$_SESSION1.$_POST變量 預定義的$_POST變量用于收集來自me
56、thod=”post”的表單中的值。從帶有POST方法的表單發(fā)送的信息,對任務人都是不可見的(不會顯示在瀏覽器的地址欄),并且對發(fā)送信息的量沒有限制。2.$_GET變量 $_GET變量是一個數(shù)組,內容是由HTTP GET方法發(fā)送的變量名稱和值。該變量用于收集來自method=”get”的表單中的值。從帶有GET方法的表單發(fā)送的信息,對任何人都是可見的(會顯示在瀏覽器的地址欄),并且對發(fā)送的信息量也有限制(最多100個字符)。第7章 表單設計3. $_SESSION PHP session用法其實很簡單,它可以把用戶提交的數(shù)據以全局變量形式保存在一個session中并且會生成一個唯一的sessi
57、on_id,這樣就是為了多了不會產生混亂了,并且session中同一瀏覽器同一站點只能有一個session_id。第7章 表單設計【例1】新建用戶登錄頁面,實現(xiàn)用戶登錄功能,如果用戶名密碼正確,則跳轉到歡迎頁面,顯示歡迎;否則,跳轉到登錄頁面。1.新建登錄頁面login.php,運行效果如圖所示:第7章 表單設計2.新建dologin.php,用來判斷用戶名密碼是否正確。第7章 表單設計3.新建歡迎頁面welcome.php,顯示效果如圖所示:第7章 表單設計7.3項目訓練 通過對以上內容的學習,了解了表單及表單控件的基本操作,現(xiàn)在回到項目導入的任務中來。【步驟1】新建register.php
58、文件,進行頁面布局。【步驟2】編寫PHP代碼,如下所示:?phpecho 姓名:.$_GETname.;echo 性別:.$_GETsex.;echo 年齡:.$_GETage.;echo 籍貫:.$_GETjg.;echo 學歷:.$_GETxl.;第7章 表單設計$arr=$_GETlike;echo愛好為:;foreach($arr as $value)echo $value. ;?【步驟3】保存運行。第7章 表單設計7.4平行項目訓練1訓練內容開發(fā)一個猜數(shù)游戲,運行結果如圖所示:第7章 表單設計2訓練目的(1)進一步訓練和鞏固學生對$_SESSION的理解;(2)使學生能夠靈活運用表單
59、、表單控件等。3訓練過程【步驟1】新建guess.php,進行頁面布局。【步驟2】新建control.php,編寫代碼如下所示:$_POSTsnum) header(location:larger.php);else header(location:smaller.php);?第7章 表單設計【步驟3】新建larger.php,編寫代碼如下所示:你猜的數(shù)比系統(tǒng)生成的數(shù)大,請再猜一次!請在下面的文本框中輸入1100之間的任意整數(shù)input type=hidden name=snum value=第7章 表單設計【步驟4】新建smaller.php,編寫代碼如下所示:你猜的數(shù)比系統(tǒng)生成的數(shù)小,請再
60、猜一次!請在下面的文本框中輸入1100之間的任意整數(shù)input type=hidden name=snum value=第7章 表單設計【步驟5】新建ok.php,編寫代碼如下所示:恭喜你,猜對了!第7章 表單設計7.5總結 本單元通過簡單項目示例,介紹了表單及表單控件的使用,同時通過一個具體的案例講述了$_SESSION及$_POST的運用,通過一個貫穿項目“人事管理系統(tǒng)”和平行項目“猜數(shù)游戲”系統(tǒng)地學習了復選框、單選按鈕等表單控件的應用,$_SESSION的使用等,使學生對表單設計有一個比較清晰的了解。Thank you! 電子商務網站建設-PHP+MySQL項目開發(fā)教程第8章 MySQL
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 往年經濟法試題及答案
- 系統(tǒng)架構設計師項目成功標準試題及答案
- 明確復習方向的護士資格證考試試題及答案
- 考試周期2025年計算機二級考試試題及答案
- 我與地壇節(jié)選試題及答案
- 系統(tǒng)架構設計師考試創(chuàng)新設計的方法與案例試題及答案
- 深入理解2024年系統(tǒng)規(guī)劃與管理師考試內容試題及答案
- 系統(tǒng)架構設計師考試相關工具使用試題及答案
- 藥物潛在風險的識別與評估試題及答案
- 文化產業(yè)管理證書考試內容全面
- 工程地質學知到智慧樹章節(jié)測試課后答案2024年秋廣東工業(yè)大學
- 2025-2030年中國牛黃市場發(fā)展狀況與前景投資策略建議報告
- DBJ33T 1307-2023 微型鋼管樁加固技術規(guī)程
- 邏輯哲學論中文版分享
- 廣東省深圳市南山區(qū)2023-2024學年六年級上學期英語期末試卷
- 2025年八省聯(lián)考高考數(shù)學試卷評析及復習備考指導課件
- 日立電梯LCA故障代碼
- 第9課 兩宋的政治和軍事課件-高中歷史統(tǒng)編版(2019)必修中外歷史綱要上冊
- 民間非營利組織會計制度
- 2023年北京中考地理試卷
- 2025中國鐵路蘭州局集團限公司招聘普通高校畢業(yè)生540人(二)管理單位筆試遴選500模擬題附帶答案詳解
評論
0/150
提交評論