版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PHP程序設(shè)計(jì)教案
日期:2020年4月B日
課章節(jié):第一章PHP入門課時(shí)4學(xué)時(shí)
教學(xué)目的:通過(guò)學(xué)習(xí),學(xué)生可以了解PHP程序的工作流程,并可以編寫、運(yùn)行簡(jiǎn)單的PHP
程序
教學(xué)重點(diǎn):PHP程序工作流程以及PHP運(yùn)行環(huán)境的安裝、配置。
教學(xué)難點(diǎn):PHP程序的工作流程在windows中配置Apache、PHP以及MySQL。解鎖第一
個(gè)PHP程序的工作流程。
教學(xué)內(nèi)容:
1-1PHP概況
1.PHP的優(yōu)勢(shì)
PHP發(fā)展到今人,只備了很多優(yōu)勢(shì):
(1)易學(xué)好用(2)免費(fèi)開源(3)良好的可擴(kuò)展性(4)平臺(tái)無(wú)關(guān)性(跨平臺(tái))
(5)功能全面(6)數(shù)據(jù)庫(kù)支持(7)面向?qū)ο缶幊?/p>
2.PHP的應(yīng)用領(lǐng)域
PHP主要月于以下3個(gè)應(yīng)用領(lǐng)域。
(1)服務(wù)器端腳本程序(2)命令行腳木程序(3)桌面應(yīng)用程序
使用PHP編寫服務(wù)器端腳木程序是PHP最常用的應(yīng)用領(lǐng)域,這也是木課程著重闡述
的內(nèi)容。
3.HTML內(nèi)嵌式的腳本語(yǔ)言
這是我的第一個(gè)PHP程序:
<br/>
教<php
學(xué)echo"helloworld!”>
實(shí)<br/>
施<phpechodate("y年m月d日h時(shí)i分s秒”>
過(guò)注意:PHP代碼通常以符號(hào)“<php開始,符號(hào)>”結(jié)束,這兩個(gè)符號(hào)分別叫做PHP
程開始標(biāo)記和結(jié)束標(biāo)記。
設(shè)PHP程序文件名中的擴(kuò)展名通常使用".php",例如
計(jì)1-2PHP腳本程序工作流程
1.WEB瀏覽器
WEB瀏覽器(WEBBrowser)也叫網(wǎng)頁(yè)瀏覽器,簡(jiǎn)稱瀏覽器。瀏覽器是用戶最為常
用的客戶端程序,主要功能是顯示HTML網(wǎng)頁(yè)內(nèi)容,并讓用戶與這些網(wǎng)頁(yè)內(nèi)容產(chǎn)生
互動(dòng)。常見的瀏覽器有微軟的InternetExplorer(簡(jiǎn)稱IE)瀏覽器、Mozilla的
Firefox瀏覽器等。
2.HTML簡(jiǎn)介
HTML是網(wǎng)頁(yè)的靜態(tài)內(nèi)容,這些靜態(tài)內(nèi)容由HTML標(biāo)記產(chǎn)生,WEB瀏覽器識(shí)別這些
HTML標(biāo)記并解釋執(zhí)行。例如WER瀏覽器識(shí)別HTML標(biāo)記“<br/〉”,將〈br/>
標(biāo)記解析為一個(gè)換行。在PHP程序開發(fā)過(guò)程中,HTML主要負(fù)責(zé)頁(yè)面的互動(dòng)、布局
和美觀。
3.PHP預(yù)處理器
PHP預(yù)處理器(PHPPreprocessor)的功能是將PHP程序中PHP代碼解釋為文本信
息,這些文木信息中可以包含HTML代碼。
服務(wù)器
WEB服務(wù)器(WEBServer)也稱為WWW(WordWideWeb)服務(wù)器,功能是解析
HTTPo當(dāng)WEB服務(wù)器接收到瀏覽器的一個(gè)HTTP動(dòng)態(tài)請(qǐng)求時(shí).WEB服務(wù)器會(huì)調(diào)用
與請(qǐng)求對(duì)應(yīng)的程序,程序經(jīng)PHP預(yù)處理器解釋執(zhí)行后,WEB服務(wù)器向?yàn)g覽器返回
HTTP響應(yīng),該響應(yīng)通常是一個(gè)HTML頁(yè)面.瀏覽器接收到該HTTP響應(yīng)后,將執(zhí)行
結(jié)果顯示在瀏覽器或進(jìn)行其他處理。
常見的WEB服務(wù)器有微軟的InternetInformationServer(IIS)服務(wù)器、IBM
的WebSphere服務(wù)器、開源的Apache服務(wù)器等。其中Apache具有免費(fèi)、速度快
且性能穩(wěn)定等特點(diǎn),它已成為目前最為流行的WEB服務(wù)器。
5.數(shù)據(jù)庫(kù)服務(wù)器
數(shù)據(jù)庫(kù)服務(wù)器(DataBaseServer)是一套為應(yīng)用程序提供數(shù)據(jù)管理服務(wù)的軟
件,這些服務(wù)包括數(shù)據(jù)管理服務(wù)(例如數(shù)據(jù)的添加、刪除、修改、杳詢)、事務(wù)管理
服務(wù)、索引服務(wù)、高速緩存服務(wù)、查詢優(yōu)化服務(wù)、安全及多用戶存取控制服務(wù)等。
常見的數(shù)據(jù)庫(kù)服務(wù)器有甲骨文的Oracle,微軟的SQLServer,IBM的DB2、SAP
的Sybase以及SUN公司的MySQL數(shù)據(jù)庫(kù)服務(wù)器。由于MySQL具有體積小、速度快、
免費(fèi)等特點(diǎn),許多中小型WEB系統(tǒng)選擇MySQL作為數(shù)據(jù)庫(kù)服務(wù)器。
6.PHP程序的下作流程
1-3PHP服務(wù)器構(gòu)建
1.安裝Apache服務(wù)器:
雙擊11文件2.2.19,在安裝程序打開窗口中,除了制定安裝目錄,并設(shè)定輸入土
機(jī)名、管理員信箱。
一路選擇“Next”下去,完整安裝。注(在此我們將Apache服務(wù)器安裝在D:/apache/)
安裝完成后,在任務(wù)欄托盤區(qū)中會(huì)增加一個(gè)Apache服務(wù)程序運(yùn)行圖標(biāo),這說(shuō)明服務(wù)
器已經(jīng)安裝成功,在IE地址欄中鍵入迎,即可看到Apache的歡迎頁(yè)面。
2.設(shè)置Apache的服務(wù)端口
在Apache安裝路徑下的D:\Apache\\conf'文件夾中,打開文件,找到
"listen80”所在的一行,將“80”改為白己希望的端日號(hào),如8000。修改后,
停止Apache服務(wù),再啟動(dòng),然后再瀏覽器地址欄中輸入,觀察效果。
3.安裝PHP環(huán)境
將php也解壓縮在d:/apache/php日錄下
4.配置PHP參數(shù)
(1)在步驟2所用到的文件中,在文件最后加上以下三行代碼PHPIniDir
“D:\Apache\php”
LoadModulephp5_module"D:\Apache\php\"
AddTyPeapplication/
其中:
①PHPIniDir:“一行的”中填寫為PHP的安裝路徑。
②LoadModulephp5_modulev一行的”填寫為PHP的安裝路徑、。
(2)設(shè)置PHP文件存放路徑
打開文件,在文件最后加上<Directory"D:\Apache\wwwroot”〉
(D:\Apache\wwwroot是放置web目錄的路徑,路徑即是存放網(wǎng)站的路徑)
OptionsIndexesFollowSymLinks
AllowOverrideNone
Orderallowdeny
Allowfromall
</Directory>
(3)配置啟用默認(rèn)文檔
打開D:\Apache\\conf\
<IfModuledir_module>238行附近,設(shè)置啟用默認(rèn)文檔
Directoryindex
</ItModule>
(4)配置虛擬目錄
①打開文件,啟用Includeconf/extra/httpd-vhosts.conf
②打開Apache\\conf\extra中的文件并進(jìn)行配置,即設(shè)置虛擬目錄與域名,在D
盤的Apache文件夾下創(chuàng)建wwwroot文件夾。
<VirtualHost*:80>
ServerAdmin
DocumentRoot??D:\Apache\wwwroot\test"
ServerNametest
ErrorLog"D:\Apache\wwwroot\test\logs\"
CustomLog"D:\Apache\wwwroot\test\logs\^common</VirtualHost*:80>
ServerAdmin
DocumentRoot"D:\Apache\wwwroot\phpMyAdniin”
ServerNamemysql
ErrorLog"D:\Apache\wwwroot\phpMyAdmin\logs\?,
CustonLog"D:\Apache\wwwroot\phpMyAdmin\logs\?,common
</VirtuaHost>
注:以上的logs文件夾是存放錯(cuò)誤日志的文件夾
(5)找到PHP的安裝路徑下的php.ini(復(fù)制一份,文件名修改為),啟用配置
找到:
extension_dir="D:\Apache\php\ext"(491行附近,此行說(shuō)明要調(diào)用ext
中的文件)
二"D:\Apache\tmp"(session臨時(shí)保存的文件夾,其中tem是白行創(chuàng)建的,995
行附近)
extension二(前面的;去掉)啟用618行附近
extension=(前面的;去掉)啟用633行附近
upload_tmp_dir="D:\Apache\tmp”(上傳文件臨時(shí)保存的文件夾,其中
tmp是自行創(chuàng)建的)549行附近
(6)將PHP安裝路徑下的文件php5ts.dll.復(fù)制到Winnt(Windows)/systenl32/
目錄中。
5.安裝Mysql在Apache文件夾下,安裝詳細(xì)步驟見MySQL詳細(xì)安裝步驟.doc文
檔。
6,配置Mysql數(shù)據(jù)庫(kù)的管理程序phpMyAdmin
①將phPMyAdmin整個(gè)文件夾復(fù)制到wwwroot文件夾下,phpMyAdmin是用來(lái)管理
數(shù)據(jù)庫(kù)MySQL的程序;
②在wwwroot創(chuàng)建一個(gè)名為test的文件夾,該文件夾即是存放網(wǎng)站的文件夾;
7.配胃C:\WIND0WS\system32\drivers\etc下的hosts文件,即域名和本地IP一
致。
8.創(chuàng)建一個(gè)簡(jiǎn)單的PHP程序,保存為,并將其存放test文件夾下在地址欄里輸
入,如果輸出hello,world!,說(shuō)明環(huán)境配置正確
<html>
<head>
<title>Firstprogram</title>
</head>
<body>
<php
echo“helloword!”;
>
</body>
</html>
9.上述(1)、(2)、(3)、⑷、(5)、(6)、(7)都做完后,重新啟動(dòng)Apache服務(wù)。
復(fù)習(xí)及作業(yè)布置:
自己動(dòng)手搭建PHP運(yùn)行環(huán)境及其配置。
擴(kuò)展學(xué)習(xí)參考:
課后反思:
教學(xué)過(guò)程:
1、介紹一下課程的情況,包括課時(shí),學(xué)分,課程的性質(zhì),學(xué)生學(xué)習(xí)本課程能獲得什么
知識(shí)能達(dá)到什么目的,強(qiáng)調(diào)課程的重要性以及課程學(xué)習(xí)好的方法。介紹本課程的考核方
式,強(qiáng)調(diào)平時(shí)成績(jī)的重要性。
2、借助多媒體課件,對(duì)PHP進(jìn)行介紹,介紹PHP腳本程序工作流程,演示服務(wù)器的構(gòu)建。
介紹代碼基本語(yǔ)法及PHP程序組成及編碼規(guī)范。
3讓學(xué)生自己實(shí)際動(dòng)手操作搭建運(yùn)行環(huán)境。
授課章節(jié):第二章PHP基礎(chǔ)課時(shí)4學(xué)時(shí)
教學(xué)目的:通過(guò)學(xué)習(xí),學(xué)生可以從整體上認(rèn)識(shí)PHP程序的各個(gè)組成部分,并可以制作功
能簡(jiǎn)單的用戶注冊(cè)系統(tǒng)。
教學(xué)重點(diǎn):PHP數(shù)據(jù)、PHP數(shù)據(jù)類型、瀏覽器端的數(shù)據(jù)米集、PHP程序的數(shù)據(jù)米集、PHP
數(shù)據(jù)處理、PHP數(shù)據(jù)的輸出。
教學(xué)難點(diǎn):編程規(guī)范習(xí)慣的養(yǎng)成PHP數(shù)據(jù)、PHP數(shù)據(jù)類型、瀏覽器端的數(shù)據(jù)采集、PHP
程序的數(shù)據(jù)采集、PHP數(shù)據(jù)處理、PHP數(shù)據(jù)的輸出。
教學(xué)內(nèi)容:
2-1PHP代碼基本語(yǔ)法
開始標(biāo)記與結(jié)束標(biāo)記
(1)開始標(biāo)記“〈php”和結(jié)束標(biāo)記“>”
(2)開始標(biāo)記"〈scriptlanguage-'php”"〉和結(jié)束標(biāo)記“〈/script〉”
(3)開始標(biāo)記和結(jié)束標(biāo)記“〉”
(4)開始標(biāo)記'1%”和結(jié)束標(biāo)記”
注釋
PHP支持如下三種注釋風(fēng)格(例如程序):
第一種:/*多行注釋風(fēng)格*/;
第二種:于PHP數(shù)據(jù)
與傳統(tǒng)的高級(jí)語(yǔ)言一樣;
(1)PHP使用變量或常量實(shí)現(xiàn)數(shù)據(jù)在內(nèi)存中的存儲(chǔ),并使用變量名(例如$userName)
或常量名(例如PI)實(shí)現(xiàn)了內(nèi)存數(shù)據(jù)的按名存取。
(2)PHP使用等于號(hào)“="(賦值運(yùn)算符)給變量賦值。
(3)PHP不允許直接訪問(wèn)一個(gè)未經(jīng)初始化的變量,否則PHP預(yù)處理器會(huì)提示Notice
教信息。
學(xué)
(4)PHP提供變量作用域的概念實(shí)現(xiàn)內(nèi)存數(shù)據(jù)的安全訪問(wèn)控制。
實(shí)
(5)PHP引入了數(shù)據(jù)類型的概念修飾和管理數(shù)據(jù)。
施
與傳統(tǒng)的高級(jí)語(yǔ)言不一樣:
過(guò)
(1)PHP變量名之前要加美元符號(hào)"$”標(biāo)識(shí),例如$userName變量。
程
(2)PHP是一種“弱類型的語(yǔ)言”,聲明變量或常量時(shí),不需要事先聲明變量或常
設(shè)
計(jì)量的數(shù)據(jù)類型,PHP會(huì)自動(dòng)由PHP預(yù)處理器根據(jù)變量的值將變量轉(zhuǎn)換成適當(dāng)?shù)臄?shù)據(jù)
類型。
數(shù)據(jù)類型
PHP數(shù)據(jù)類型分為四種:標(biāo)量數(shù)據(jù)類型、復(fù)合數(shù)據(jù)類型、特殊數(shù)據(jù)類型和偽類型。
其中標(biāo)量數(shù)據(jù)類型分為四種:布爾型、整型、浮點(diǎn)型和字符串型;
復(fù)合數(shù)據(jù)類型共有兩種:數(shù)組和對(duì)象;
特殊數(shù)據(jù)類型有資源數(shù)據(jù)類型和空數(shù)據(jù)類型;
偽類型通常在函數(shù)的定義中使用。
3.瀏覽器端的數(shù)據(jù)采集
瀏覽器端數(shù)據(jù)的采集主要依靠HTML提供的FORM表單實(shí)現(xiàn)。FORM表單是包含一系列
表單元素的區(qū)域,表單元素是允許用戶在表單中輸入信息的元素。常見的表單元索
有:文本域、下拉列表、單選框、復(fù)選框等。
程序的數(shù)據(jù)采集
PHP程序負(fù)責(zé)采集用戶注朋FORM表單提交的數(shù)據(jù),然后進(jìn)行顯示。
<php
$userName=$_GET["userName”];
$password=$_GET["password”];
$confirmPassword=$GET[uconfirmPasswordv];
1”寫規(guī)范
(1)縮進(jìn)(2)大括號(hào){}(3)運(yùn)算符
2.命名規(guī)范
(1)類(2)常量(3)變量(4)數(shù)組(5)函數(shù)(6)數(shù)據(jù)庫(kù)表字段(7)
類文件
3.為代碼添加注釋
軟件開發(fā)是一種高級(jí)腦力勞動(dòng),精妙的算法之后往往伴隨著難以理解的代碼,對(duì)于
不經(jīng)常維護(hù)的代碼,往往連開發(fā)者本人也忘記編寫的初衷。要為代碼添加注釋,增
強(qiáng)代碼的可讀性和可維護(hù)性。有時(shí)添加注釋和編寫代碼一樣難,但養(yǎng)成這樣的習(xí)慣
是必要的。請(qǐng)記?。罕M最大努力把方便留給別人和將來(lái)的自己。
復(fù)習(xí)及作業(yè)布置:
擴(kuò)展學(xué)習(xí)參考:
課后反思:
教學(xué)過(guò)程:
復(fù)習(xí)導(dǎo)入:
本章著重講述PHP基本語(yǔ)法、PHP程序的組成以及PHP編碼規(guī)范,詳細(xì)講解PHP數(shù)
據(jù)類型以及數(shù)據(jù)輸出等知識(shí)。通過(guò)本章的學(xué)習(xí),讀者可以從整體上認(rèn)識(shí)PHP程序的各個(gè)
組成部分,并可以制作功能簡(jiǎn)單的用戶注冊(cè)系統(tǒng)。
講解新知:
1.代碼基本語(yǔ)法
2.編碼規(guī)范
程序的組成
授課章節(jié):第三章PHP表達(dá)式課時(shí)4學(xué)時(shí)
教學(xué)目的:通過(guò)學(xué)習(xí),學(xué)生可以了解變量、常量、常用運(yùn)算符、變量狀態(tài)函數(shù)以及類型
轉(zhuǎn)換的相關(guān)知識(shí),為今后設(shè)計(jì)更為復(fù)雜的程序奠定堅(jiān)實(shí)的基礎(chǔ)。
教學(xué)重點(diǎn):isset()函數(shù)、unset。函數(shù)、empty()函數(shù)的使用字符串連接運(yùn)算符、錯(cuò)誤
抑制符、比較運(yùn)算符等運(yùn)算符的使用數(shù)據(jù)類型的轉(zhuǎn)換。
教學(xué)難點(diǎn):理解“空”與NULL的區(qū)別,數(shù)據(jù)類型的自動(dòng)轉(zhuǎn)換。
教學(xué)內(nèi)容:
3-1常量
1.自定義常量
define()函數(shù)的語(yǔ)法格式:
define(name,值為value[,Booleancase_insensitive])
功能:定義一個(gè)名字為name,值為value的常量:ase_insensitive參數(shù)的默認(rèn)
值默認(rèn)為FALESE,表示常量名name大小寫敏感(區(qū)分大小寫):case_insensitive
參數(shù)值如果為TRUE,表示常暈名name大小寫不敏感(不區(qū)分大小寫)。說(shuō)明:常量
名name為字符串類型數(shù)據(jù),常量值value必須是標(biāo)量數(shù)據(jù)類型數(shù)據(jù)。
注意:常量名前面不加前綴"$”符號(hào)。
常量的作用域是全局的,不存在使用范圍的問(wèn)趣,可以在程序任意位置進(jìn)行定
義和使用常量。常最一旦被定義,其值不能在程序過(guò)程中修改,也不能被銷毀。
2.常量的內(nèi)存分配
內(nèi)存中專門為常量的存儲(chǔ)分配了一個(gè)空間:常量存儲(chǔ)區(qū)。常量存儲(chǔ)區(qū)是一塊比
教較特殊的存儲(chǔ)空間,位于該存儲(chǔ)空間的常量是全局的,且在程序運(yùn)行期間不能修改
學(xué)和銷毀。
實(shí)3.預(yù)定義常量
施PHP還預(yù)定義了許多常最,這些常量無(wú)需使用define。函數(shù)定義,可直接在程
過(guò)序中使用。
程(1)_FILE_(FILE前后是兩個(gè)下劃線):當(dāng)前正在處理的腳木文件名。
設(shè)(2)_LINE_(LINE前后是兩個(gè)下劃線):正在處理的腳本文件的當(dāng)前行數(shù)。
計(jì)(3)PHPV_VERSION:當(dāng)前PHP預(yù)處理器的版本。
(4)PHP_OS:PHP所在的操作系統(tǒng)的類型,如Linux。
(5)TRUE:表示邏輯真:FALSE常最:表示邏輯假:NULL常最:表示沒(méi)有值或
值不確定。
(6)DIRECTORY_SEPARATOR常量:表示目錄分隔符,Unix或Linux操作系統(tǒng)環(huán)境
時(shí)的值為“/"Windows操作系統(tǒng)環(huán)境時(shí)的值為
3-2變量
1.變量基本概念
變量是用于臨時(shí)存儲(chǔ)數(shù)據(jù)的容器,這些數(shù)據(jù)可以是任意一種數(shù)據(jù)類型的數(shù)據(jù)
PHP中的變最名遵循以下規(guī)則:
(1)變量名必須以美元符號(hào)($)開頭,例如:$userName。
(2)變量名的第一個(gè)字符必須是字母或下劃線(不能是數(shù)字),變量名稱可以包含
字母、數(shù)字和下劃線的組合。
(3)PHP中的變量名是區(qū)分大小寫的,這是一個(gè)非常重要的規(guī)則。這意味著
SuserName^H$UserName是截然不同的兩個(gè)變量。
2.變量賦值方式
(1)傳位賦值方式
(2)傳地址賦值方式
3.可變變量
PHP提供了一種特殊類型的變量:可變變量,可變變最允許PHP程序動(dòng)態(tài)地改
一個(gè)變量的變量名,可變變量的工作原理是用一個(gè)變量的“值”作為另一個(gè)變量的
“名?
3-3有關(guān)變量或常量狀態(tài)的函數(shù)
1.數(shù)據(jù)類型查看函數(shù)
(1)gettypeO函數(shù)
(2)var_dump函數(shù)
2.檢查?;蜃兞渴欠穸x函數(shù)
(1)define()函數(shù)
(2)isset函數(shù)
3.取消變量定義unset()函數(shù)
4.檢查變量是否為“空”
(1)empty()函數(shù)
(2)is_nul()函數(shù)
5.數(shù)據(jù)類藥檢查函數(shù)
3-4PHP運(yùn)算符
1.算術(shù)運(yùn)算符2.遞增乒遞減運(yùn)算符3.賦值運(yùn)算符4.比較運(yùn)算符
5.邏輯運(yùn)算符6.字符串連接運(yùn)算符7.錯(cuò)誤抑制運(yùn)算符8.條件運(yùn)算符9.
類型運(yùn)算符10.執(zhí)行運(yùn)算符H.位運(yùn)算符12.運(yùn)算符優(yōu)先級(jí)
3-5數(shù)據(jù)類型的轉(zhuǎn)換
1.類型自動(dòng)轉(zhuǎn)換
2.強(qiáng)制類型轉(zhuǎn)換
復(fù)習(xí)及作業(yè)布置:
擴(kuò)展學(xué)習(xí)參考:
課后反思:
教學(xué)過(guò)程:
復(fù)習(xí)導(dǎo)入:
PHP表達(dá)式是PHP程序最為重要的組成部分,PHP表達(dá)式指的是將相同數(shù)據(jù)類型或不同數(shù)據(jù)類
型的數(shù)據(jù),用運(yùn)算符號(hào)按一定的規(guī)則連接起來(lái)、有意義的式子,木章可以圍繞表達(dá)式詳細(xì)講解表達(dá)
式中涉及的變最、常量以及常用運(yùn)算符,最后討論表達(dá)式中數(shù)據(jù)類型之間的相互轉(zhuǎn)換。
講解新知:
(1)詳細(xì)講解常量(2)詳細(xì)講解變量(3)介紹有關(guān)變量和常量狀態(tài)的函數(shù)(4)
詳細(xì)講解PHP運(yùn)算符(5)介紹數(shù)據(jù)類型的轉(zhuǎn)換最后對(duì)本次課內(nèi)容進(jìn)行總結(jié)
授課章節(jié):第四章PHP流程控制課時(shí)4學(xué)時(shí)
教學(xué)目的:通過(guò)學(xué)習(xí),學(xué)生可以了解條件控制結(jié)構(gòu)、循環(huán)結(jié)構(gòu)以及程序跳轉(zhuǎn)和終止語(yǔ)句
3種類型的PHP流程控制語(yǔ)句,這3種類型的流程控制構(gòu)成了面向過(guò)程編程的核心。通
過(guò)學(xué)習(xí),為今后設(shè)計(jì)更為復(fù)雜的程序奠定堅(jiān)實(shí)的基礎(chǔ)。
教學(xué)重點(diǎn):if???else???語(yǔ)句、switch語(yǔ)句、while語(yǔ)句以及break語(yǔ)句、continue語(yǔ)句、
exit語(yǔ)句。
教學(xué)難點(diǎn):switch語(yǔ)句、while語(yǔ)句以及break語(yǔ)句、continue語(yǔ)句、exit語(yǔ)句。
教學(xué)內(nèi)容:
4-1條件控制結(jié)構(gòu)
語(yǔ)句
If語(yǔ)句的語(yǔ)法格式為:
If(條件表達(dá)式){
語(yǔ)句塊
}
else語(yǔ)句
if....else語(yǔ)句的語(yǔ)法格式為:
if(條件表達(dá)式){
語(yǔ)句塊1
}else{
語(yǔ)句塊2
)
教3,.switch語(yǔ)句
學(xué)
Switch語(yǔ)句的語(yǔ)法格式:
實(shí)
Switch(表達(dá)式){
施
Case值1:語(yǔ)句塊1;
過(guò)
break;
程
Case值2:語(yǔ)句塊2;
設(shè)
break;
計(jì)
Default:
語(yǔ)句塊n;
)
4-2循環(huán)結(jié)構(gòu)
1.while循環(huán)語(yǔ)句
while循環(huán)語(yǔ)句是最簡(jiǎn)單的循環(huán)語(yǔ)句,它的語(yǔ)法格式跟if語(yǔ)句相似:
while(條件表達(dá)式){
語(yǔ)句塊;
)
...while循環(huán)語(yǔ)句
do...while循環(huán)語(yǔ)句的語(yǔ)法格式如下所示:
do{
語(yǔ)句塊;
}while(條件表達(dá)式);
:循環(huán)語(yǔ)句
for循環(huán)語(yǔ)句的語(yǔ)法格式如下所示:
for(表達(dá)式1;條件表達(dá)式2;表達(dá)式3){
語(yǔ)句塊;
)
for循環(huán)語(yǔ)句中,各表達(dá)式的功能如下:
表達(dá)式1的功能是初始化循環(huán)控制變量,表達(dá)式1只執(zhí)行一次,并且不是必需
的。條件表達(dá)式2為循環(huán)控制條件,若條件表達(dá)式2值為TRUE,則執(zhí)行語(yǔ)句塊;
若條件表達(dá)式2值為隊(duì)FALSE則跳出for循環(huán)。條件表達(dá)式2也不是必需的。表
達(dá)式3的功能是修改循環(huán)控制變量的值。表達(dá)式3也不是必需的。
4.循環(huán)結(jié)構(gòu)應(yīng)用
程序使用PHP循環(huán)結(jié)構(gòu)制作九九乘法表。
4-3其他流程控制語(yǔ)句
語(yǔ)句
continue語(yǔ)句一般在for、while或do…while循環(huán)結(jié)構(gòu)中使用。在循環(huán)
結(jié)構(gòu)中,當(dāng)程序執(zhí)行至continue時(shí),程序?qū)⑻^(guò)木次循環(huán)中剩余的代碼并開始執(zhí)
行下一次循環(huán)。例如程序的功能是計(jì)算1+3+5+…+99的奇數(shù)和。
語(yǔ)句
當(dāng)break在switch語(yǔ)句中使用時(shí),它會(huì)使程序跳出當(dāng)前的Switch語(yǔ)句。break
語(yǔ)句還可以使用在for、while或do…while循環(huán)語(yǔ)句中,使得程序跳出當(dāng)前循
環(huán)結(jié)構(gòu)。例如程序的功能時(shí)計(jì)算I+2+3+…+100的和。
3,終止PHP程序運(yùn)行
exit語(yǔ)言結(jié)構(gòu)的語(yǔ)法格式:voidexit([stringmessage])
exit語(yǔ)言結(jié)構(gòu)的功能:輸出字符串信息message,然后終止PHP程序的運(yùn)行。例
如程序?
從程序的運(yùn)行結(jié)果可以看出:
(1)使用邏輯或(or)表達(dá)式:$aor$b可以強(qiáng)制只有表達(dá)式$a的結(jié)果為隊(duì)FALSE
時(shí),表達(dá)式$b才會(huì)執(zhí)行。
(2)當(dāng)某個(gè)表達(dá)式運(yùn)行失敗時(shí),該表達(dá)式的結(jié)果為FALSE。
復(fù)習(xí)及作業(yè)布置:
擴(kuò)展學(xué)習(xí)參考:
課后反思:
教學(xué)過(guò)程:
復(fù)習(xí)導(dǎo)入:
PHP程序中如果沒(méi)有流程控制語(yǔ)句,PHP程序?qū)牡谝粭lPHP語(yǔ)句開始執(zhí)行,一直運(yùn)
行到最后一條PHP語(yǔ)句。流程控制語(yǔ)句用于改變程序執(zhí)行次序,從而控制程序的執(zhí)行流
程。
講解新知:
(1)通過(guò)例子講解條件控制語(yǔ)句
(2)通過(guò)例子講解循環(huán)結(jié)構(gòu)
(3)通過(guò)例子講解程序跳轉(zhuǎn)和終止語(yǔ)句
授課章節(jié):第五章PHP數(shù)組課時(shí)4學(xué)時(shí)
教學(xué)目的:通過(guò)學(xué)習(xí),學(xué)生可以了解數(shù)組的基本概念以及數(shù)組常用的處理函數(shù),并掌握
幾種數(shù)組遍歷方法。
教學(xué)重點(diǎn):數(shù)組的遍歷foreach語(yǔ)言結(jié)構(gòu)、常用數(shù)組函數(shù)的使用、數(shù)組內(nèi)部指針。
教學(xué)難點(diǎn):各種數(shù)組遍歷的方法常用數(shù)組函數(shù)的使用,例如快速創(chuàng)建數(shù)組的函數(shù)、數(shù)組
統(tǒng)計(jì)函數(shù)、數(shù)組指針函數(shù)、數(shù)組和變量間的轉(zhuǎn)換函數(shù)、數(shù)組遍歷語(yǔ)言結(jié)構(gòu)、
數(shù)組檢索函數(shù)。
教學(xué)內(nèi)容:
5-1數(shù)組的基本概念
1.為什么引入數(shù)組
使用標(biāo)量數(shù)據(jù)類型定義的變量只能存儲(chǔ)單個(gè)“數(shù)據(jù)”,僅依靠標(biāo)量數(shù)據(jù)類型遠(yuǎn)不現(xiàn)實(shí)生活中
的一些常見問(wèn)題,例如一個(gè)設(shè)置個(gè)人信息的頁(yè)面。
2.數(shù)組的分類
一維數(shù)組、二維數(shù)組、多維數(shù)組
5-2一維數(shù)組的創(chuàng)建
1.直接將變量聲明為數(shù)組元素,一個(gè)變量聲明為一個(gè)數(shù)組元素有三種方法:
第一種方法:不指定數(shù)組元素的“鍵",示例程序:$characters[]="humour”;
第二種方法:將數(shù)組元索的“鍵”指定為某個(gè)整數(shù),示例程序:$iterests[2]="music”;
第三種方法:將數(shù)組元素的“鍵”指定為某個(gè)字符串,示例程序:$colors["red]="
red”;
2.使用array()語(yǔ)言結(jié)構(gòu)創(chuàng)建數(shù)組
教PHP提供了array()語(yǔ)言結(jié)構(gòu)創(chuàng)建數(shù)組,array()語(yǔ)言結(jié)構(gòu)接受一定數(shù)量用逗號(hào)分隔
學(xué)的key=>value參數(shù)對(duì),這樣可以一次性地為數(shù)組添加多個(gè)元素(若key省略,則
實(shí)key值為整數(shù))。
施3.創(chuàng)建數(shù)組的注意事項(xiàng)
過(guò)(1)如果數(shù)組元素中的“鍵”是一個(gè)浮點(diǎn)數(shù),則'鍵”將被強(qiáng)制轉(zhuǎn)換為整數(shù)(例如
程浮點(diǎn)數(shù)將被強(qiáng)制轉(zhuǎn)換為整數(shù)8),如果“鍵”是TRUE或FALSE,則'鍵”將被強(qiáng)制
設(shè)轉(zhuǎn)換為整數(shù)1或0。
計(jì)(2)如果數(shù)組元素中的“鍵”是一個(gè)字符串,且該字符串完個(gè)符合整數(shù)格式時(shí),數(shù)
組元素的“鍵”將被強(qiáng)制轉(zhuǎn)換為整數(shù)(例如“9”將被強(qiáng)制轉(zhuǎn)換為整數(shù)9)。
(3)由于數(shù)組元素中的“鍵”唯一標(biāo)識(shí)一個(gè)元素,因此數(shù)組中元素的“鍵”不能相
等(使用==比較)。如果兩個(gè)數(shù)組元素的“鍵”相等,“鍵”對(duì)應(yīng)的值將被覆蓋。
(4)不要在array。語(yǔ)言結(jié)構(gòu)中使用諸如"red=>"“red”鍵值對(duì)的方式創(chuàng)建數(shù)組
元素,也不要使用諸如$。01。二[^^="red”的賦值語(yǔ)句的方式創(chuàng)建數(shù)組元素,否
則程序的可讀性及運(yùn)行效率將大掃折扣。
4.數(shù)組元素“值”的訪問(wèn)
訪問(wèn)數(shù)組元素值的方法和訪問(wèn)變量值的方法相同:通過(guò)指定數(shù)組名并在方括號(hào)
內(nèi)指定”鍵名”的方式“訪問(wèn)”數(shù)組元素的“值”。使用這樣的方法訪問(wèn)數(shù)組,不僅
可以讀取某個(gè)數(shù)組元素的“值”,還可以為數(shù)組添加數(shù)組元素以及修改數(shù)組元素的
“值”,并可以像訪問(wèn)“變最”的方法訪問(wèn)數(shù)組元素的值。PHP提供兩種變量賦值方
式:傳值賦值和傳地址賦值,對(duì)于數(shù)組同樣適用。
5-3多維數(shù)組
1.二維數(shù)組的創(chuàng)建
二維數(shù)組的創(chuàng)建方法和一維數(shù)組的創(chuàng)建方法相同。
方法一:直接將變量聲明為二維數(shù)組
方法二:使用array。語(yǔ)言結(jié)構(gòu)創(chuàng)建二維數(shù)組
2.二維數(shù)組元素“值”的訪問(wèn)
二維數(shù)組中存在兩個(gè)“鍵”,因此訪問(wèn)數(shù)組元素的“值”時(shí)需要指定這兩個(gè)“鍵”。
例如:$students[“2010001”][“studentName”]對(duì)應(yīng)的值是“張三”,其中第
一個(gè)鍵”2010001w用于指定二維數(shù)組$studcnts中的某一'行",第二個(gè)“鍵”
$studentName用于指定二維數(shù)組$student的該“行”的某一“列二只使用第一個(gè)
“鍵”訪問(wèn)數(shù)組時(shí),訪問(wèn)的是二維數(shù)組中的某一“行”,該行是一個(gè)一維數(shù)組。
5-4數(shù)組處理函數(shù)及應(yīng)用
1.快速創(chuàng)建數(shù)組的函數(shù)
(1)range()函數(shù)
語(yǔ)法格式:arrayrange(mixedstart,mixedend)
函數(shù)功能:快速創(chuàng)建一個(gè)從start到end范圍的數(shù)字?jǐn)?shù)組或字符數(shù)組。
函數(shù)說(shuō)明:如果start>end,序列將從start到end。
(2)explode。函數(shù)
語(yǔ)法格式:arrayexplode(stringseparator,stringst)
函數(shù)功能:使用指定的字符串分隔符separator分割字符串str,將分割后的字符
串放到數(shù)組中,并返回該數(shù)組。
(3)array_combine()函數(shù)
語(yǔ)法格式:array_combine(arraykeys,arrayvalues)
函數(shù)功能:創(chuàng)建二個(gè)新數(shù)組,用數(shù)組keys的值位作為新數(shù)組的“鍵”,數(shù)組values
的值作為新數(shù)組的“值”。
(4)array_fill()函數(shù)
語(yǔ)法格式:arrayarray_fill(intstart_key,intlength,mixedvalue)
函數(shù)功能:創(chuàng)建一個(gè)數(shù)組,并為該數(shù)組添加length個(gè)數(shù)組元素,數(shù)組元素的“鍵”,
從start_key處開始始遞增,每個(gè)數(shù)組元素的值為value。
說(shuō)明:length必須是一個(gè)大于零的數(shù)值,否則PHP會(huì)提示W(wǎng)arning警告信息。
(5)array_pad()函數(shù)
語(yǔ)法格式arrayarray_pad(arrayarr,intpad_size,mixedpad_value)
函數(shù)功能:array_pad()函數(shù)返回?cái)?shù)組arr的一個(gè)拷貝,并用pad_value將其填
補(bǔ)到pad_size指定的長(zhǎng)度。如果Pad_size為正,則數(shù)組被填補(bǔ)到右側(cè),如果為
負(fù)則從左側(cè)升始填補(bǔ)。如果pad_size的絕對(duì)值小于或等于input數(shù)組的長(zhǎng)度則沒(méi)
有任何填補(bǔ)。
2.數(shù)組統(tǒng)計(jì)函數(shù)
(1)count()函數(shù)
語(yǔ)法格式:intcount(arrayarr[intmode])
函數(shù)功能:統(tǒng)計(jì)并計(jì)算數(shù)組arr中元素的個(gè)數(shù)。如果數(shù)組arr是多維數(shù)組,可將mode
參數(shù)的值設(shè)為常量C0UNOECURSIVE(或整數(shù)1),計(jì)算數(shù)組arr中所有元素的個(gè)數(shù);
mode的默認(rèn)值是0o該函數(shù)的別名函數(shù)為sizeof()0
(2)max()函數(shù)
語(yǔ)法格式:mixedmax(arrayarr[,array...])
函數(shù)功能:統(tǒng)計(jì)并計(jì)算數(shù)組arr中元素的最大值。
說(shuō)明:PHP會(huì)將非數(shù)值的字符串當(dāng)成0處理,但如果這個(gè)正是最大的數(shù)值則仍然會(huì)
返回一個(gè)字符串。如果多個(gè)數(shù)組元素的值為0且是最大值,函數(shù)會(huì)返回其中數(shù)值的
0,如果數(shù)組元素中沒(méi)有數(shù)值的0,則返回按字母表順序最大的字符串。
(3)min()函數(shù)
語(yǔ)法格式:mixedmin(arrayarr[,array…1)
函數(shù)功能:統(tǒng)計(jì)并計(jì)算數(shù)組arr中元素的最小值。
說(shuō)明:PHP會(huì)將數(shù)組arr中的字符串當(dāng)成0處理,如果字符串正是數(shù)組arr中最小
的數(shù)值,則仍然會(huì)返回一個(gè)字符串:min()函數(shù)返回一個(gè)字符串時(shí),該字符串為數(shù)
組中順序靠前的字符串。
(4)array_sum()函數(shù)
語(yǔ)法格式::numberarry_sum(arrayarr)
函數(shù)功能:統(tǒng)計(jì)并計(jì)算數(shù)組arr中的所有元素值的和,array_sum()返回整數(shù)或浮點(diǎn)
數(shù)。說(shuō)明:PHP會(huì)將數(shù)組arr中的非數(shù)值類型的元素值自動(dòng)類型轉(zhuǎn)換為整數(shù)或浮點(diǎn)
數(shù)。
(5)array_product()函數(shù)
語(yǔ)法格式:numberarrayproduct(arrayarr)
函數(shù)功能:統(tǒng)計(jì)并計(jì)算數(shù)組arr中所有元素值的乘積,該函數(shù)返回整數(shù)或浮點(diǎn)數(shù)。
說(shuō)明:PHP會(huì)將數(shù)組arr中的非數(shù)值類型的數(shù)據(jù)自動(dòng)類型轉(zhuǎn)換為整數(shù)或浮點(diǎn)數(shù)。
(6)array_count_values()函數(shù)
語(yǔ)法格式:arrayarray_count_values(arrayarr)
函數(shù)功能:統(tǒng)計(jì)并計(jì)算藪組中所有元素的值出現(xiàn)的次數(shù)。
3.數(shù)組指針函數(shù)4.數(shù)組和變量間的轉(zhuǎn)換函數(shù)5.數(shù)組遍歷語(yǔ)言結(jié)構(gòu)
6.數(shù)組檢索函數(shù)7.數(shù)組排序函數(shù)8.數(shù)組與數(shù)據(jù)結(jié)構(gòu)9.數(shù)組集合運(yùn)算函數(shù)
復(fù)習(xí)及作業(yè)布置:
擴(kuò)展學(xué)習(xí)參考:
課后反思:
教學(xué)過(guò)程:
復(fù)習(xí)導(dǎo)入:
數(shù)組(Array)是一組批量的數(shù)據(jù)存儲(chǔ)空間,這一組存儲(chǔ)空間在內(nèi)存是鄰接的,每一個(gè)
存儲(chǔ)空間存儲(chǔ)了一個(gè)數(shù)組元素,元素之間使用“鍵”(key)來(lái)識(shí)別,通過(guò)數(shù)組名和
“鍵”的組合數(shù)組中每一個(gè)元素的訪問(wèn)。然后按以下內(nèi)容講解:(1)講解數(shù)組的基
本概念(2)通過(guò)演示講解一維數(shù)組的創(chuàng)建(3)介紹多維數(shù)組(4)介紹數(shù)組處
理函數(shù)及應(yīng)用最后對(duì)本次課內(nèi)容進(jìn)行總結(jié)
授課章節(jié):第六章PHP的數(shù)據(jù)采集課時(shí)4學(xué)時(shí)
教學(xué)目的:通過(guò)學(xué)習(xí),學(xué)生可以了解瀏覽器端數(shù)據(jù)的各種提交方式,如何創(chuàng)建FORM表
單實(shí)現(xiàn)瀏覽器端的數(shù)據(jù)采集,PHP程序各種數(shù)據(jù)采集的方法,以及如何實(shí)現(xiàn)文件的上傳
功能。通過(guò)本章的學(xué)習(xí),讀者可以結(jié)合PHP數(shù)組實(shí)現(xiàn)功能復(fù)雜的“用戶注冊(cè)系統(tǒng)”。
教學(xué)重點(diǎn):設(shè)計(jì)FORM表單、文件上傳的表單的設(shè)計(jì)以及如何實(shí)現(xiàn)文件上傳功能。
教學(xué)難點(diǎn):在FORM表單中使用數(shù)組文件上傳的具體流程、與文件上傳有關(guān)的配置
多文件上傳的實(shí)現(xiàn)(可以參考習(xí)題以及習(xí)題答案)。
一教學(xué)內(nèi)容:
6-1瀏覽器端數(shù)據(jù)的提交方式
提交方式
GET提交方式是將“請(qǐng)求”數(shù)據(jù)以查詢字符串(QueryString)格式附在URL之
后“提交”數(shù)據(jù)。例如:
=victor&password=1234&confirmpassword=1234在這個(gè)URL中,問(wèn)號(hào)””表示
查詢字符串的開始,問(wèn)號(hào)“"后面的字符串參數(shù)"userName=victor&password=
1234&confirmPassword=1234”為查尋字符串??梢钥闯觯翰樵冏址梢园?/p>
多個(gè)參數(shù),每個(gè)參數(shù)以“參數(shù)名=參數(shù)值”的格式定義,參數(shù)之間使用“也”相連,
最后再將查詢字符串使用"”附在URL之后。
另外,F(xiàn)ORM表單也提供了GET提交方式。
除此以外,使用超鏈接〈aX/a〉標(biāo)簽也可以實(shí)現(xiàn)瀏覽器端GET提交方式。
2.POST提交方式
教POST數(shù)據(jù)提交方式一般通過(guò)FORM表單實(shí)現(xiàn),由于默認(rèn)情況下FORM表單的數(shù)
學(xué)據(jù)提交方式為GET方式,必須在FORM表單的〈form/〉標(biāo)簽中加入屬性:method=
實(shí)“post”,將數(shù)據(jù)提交方式修改為POST方式。
施和POST混合提交方式
過(guò)還可以使用FORM表單實(shí)現(xiàn)GET和POST混合提交方式,即向WFB服務(wù)器某PHP程序
程發(fā)出“GET請(qǐng)求”的同時(shí),還向該P(yáng)HP程序發(fā)出“POST清求”.
設(shè)4.兩種提交方式的比較
計(jì)POST提交方式比GET提交方式安全。這是由于GET提交方式提交的數(shù)據(jù)將出現(xiàn)
在URL查詢字符串中,并且這些帶有查詢字符串的URL可以被瀏覽器緩存到歷史記
錄中。因此諸如用戶注朋、登錄等系統(tǒng),不建議使用GFT提交方式。
POST提交方式可以提交更多的數(shù)據(jù)。理論上講POST提交方式提交的數(shù)據(jù)沒(méi)有
大小限制,而GET提交方式提交的數(shù)據(jù)由于出現(xiàn)在URL查詢字符串中,而URL的長(zhǎng)
度是受限制的(例如IE瀏覽器對(duì)URL長(zhǎng)度的限制是2083字節(jié))。例如:新聞發(fā)布
系統(tǒng)中提交篇幅較長(zhǎng)的新聞信息時(shí),不建議使用GET提交方式:帶有文件上傳功能
的FORM表單則必須使用POST提交方式。不同的“提交”方式對(duì)應(yīng)的服務(wù)器端數(shù)據(jù)
“采集”方式不同。
6-2相對(duì)路徑和絕對(duì)路徑
1.絕對(duì)路徑
絕對(duì)路徑是與相對(duì)路徑相對(duì)立的,通常是一個(gè)完整的URL,該URL由兩個(gè)部分構(gòu)成:
scheme:用來(lái)描述尋找數(shù)據(jù)所采用的機(jī)制,即:協(xié)議。如http協(xié)議和ftp協(xié)議等
位置(Location):用來(lái)描述到哪兒去尋找數(shù)據(jù)的資源
這兩部分使用“:對(duì)路徑
相對(duì)路徑可以分為兩類:server-relative路徑與relative路徑。
server-relative路徑是以斜杠“/”開頭的相對(duì)路徑。在HTML中,以斜杠“/”
開頭的相對(duì)路徑表示從WEB服務(wù)器的根目錄下開始查找相應(yīng)的資源文件。使用默認(rèn)
配置安裝WAMP后,目錄“C:/wamp/www”為Apache服務(wù)器的根目錄,因此使用相對(duì)
路徑“/”訪問(wèn)資源時(shí),訪問(wèn)的是目錄“C:/wamp/www”下的頁(yè)面;使用相對(duì)路徑
"6"'訪問(wèn)資源時(shí),訪問(wèn)的是目錄“C:/wamp/www”中的目錄“6”下的
register.html文件。relative路徑不以斜杠開頭。此時(shí)當(dāng)文件1訪問(wèn)文件
2(HTIL頁(yè)面、PHP程序或圖片等)資源時(shí),將從文件1的當(dāng)前目錄作為起點(diǎn)查找
文件2資源。例如當(dāng)目錄“C:/wamp/www/6/”中的文件使用超鏈接訪問(wèn)該目錄下的
文件時(shí),只需在register.html文件的超鏈接中直接指定文件即可。
3.相對(duì)路徑其它概念
⑴同一個(gè)日錄下的資源訪問(wèn)
如果文件1和文件2在同一個(gè)日錄,這兩個(gè)文件間的相互訪問(wèn)直接使用文件名
即可。
(2)如何表示當(dāng)前目錄
.表示文件的當(dāng)前日錄。
(3)如何表示上級(jí)目錄
??/表示文件所在目錄的上一級(jí)目錄,表示文件所在目錄的上上級(jí)目錄,
以此類推。
(4)如何表示下級(jí)目錄
如果文件1訪問(wèn)下級(jí)目錄中文件2,直接指定該目錄和文件2的文件名即可。
6-3使用FORM表單實(shí)現(xiàn)瀏覽器端的數(shù)據(jù)采集
FORM表單由三部分組成:
表單標(biāo)簽:定義了表單處理程序及數(shù)據(jù)提文方式等信息。
表單控件:包括單行文本框、密碼框、隱藏域、多行文本框、復(fù)選框、單選框、下
拉選擇框和文件上傳框等表單控件。
表單按鈕:包括提交按鈕、復(fù)位按鈕和一般按鈕。
1.表單標(biāo)簽
表單標(biāo)簽Vform>常用的屬性有action、method、enctype、title、name等。
(1)action屬書設(shè)置當(dāng)前表單數(shù)據(jù)“提交”的目的地址。當(dāng)不設(shè)置action屬性,
或設(shè)置值等于空字符串(即action=〃〃)時(shí),表單數(shù)據(jù)提交給當(dāng)前頁(yè)面。
(2)method屬性設(shè)置表單數(shù)據(jù)的提交方式。method屬性的值為GET或POST,默
認(rèn)為GETo
(3)title屬性設(shè)置表單的提示信息。當(dāng)用戶的鼠標(biāo)在表單處停留時(shí),瀏覽器用一
個(gè)黃色的小浮標(biāo)顯示提示文本。
(4)enctype屬性設(shè)置提交表單數(shù)據(jù)時(shí)的編碼方式.enctype屬性的位為
multipart/form-data或app1ication/x-www-ur1encodded,默認(rèn)為"
application/x-www-form-urlencoded^o當(dāng)一個(gè)FORM表單'中存在文件上傳框時(shí),
必須將enctype屬性設(shè)置為multipart/form-data編碼方式。
(5)name屬性為當(dāng)前的FORM表單命名。
2.表單控件
(1)單行文本框(2)密碼樞⑶多行文本樞(4)隱藏域⑸復(fù)選樞
(6)單選樞⑺文件上傳框(8)下拉選擇框
注意:表單控件嵌套在FORM表單中才有意義,每個(gè)表單控件都要一個(gè)name屬性進(jìn)
行標(biāo)識(shí)。這是因?yàn)閃EB服務(wù)器將依據(jù)表單控件的name屬性判斷傳遞給服務(wù)器的每
個(gè)值分別是由哪個(gè)表單控件產(chǎn)。為了確保數(shù)據(jù)的準(zhǔn)確采集,需要為每個(gè)表單控件定
義一個(gè)獨(dú)一無(wú)二的名稱(同為一個(gè)組的單選框以及在表單控件中使用數(shù)組兩種情況
除外)。
3.在表單控件中使用數(shù)組
在一個(gè)HTML頁(yè)面中,有時(shí)并不清楚某種表單控件的具體個(gè)數(shù)。例如:在進(jìn)行多
文件上傳時(shí),并不能確定瀏覽器用戶究竟選擇多少個(gè)上傳文件,更無(wú)法確定頁(yè)面中
需要多少個(gè)文件上傳框。在表單控件中使用數(shù)組可以解決類似的問(wèn)題。
在表單控件的name屬性值后面加上方括號(hào)“口”從而實(shí)現(xiàn)在表單控件中使用數(shù)
組。使用表單控件數(shù)組后,當(dāng)表單提交時(shí),相同name屬性的表單控件則以數(shù)組的方
式向WEB服務(wù)器提交多個(gè)數(shù)據(jù)。
4.表單按鈕
⑴提交按鈕(2)圖像提交按鈕(3)重置按鈕(4)自定義按鈕
表單綜合應(yīng)用
6-4使用$_GET和$_POST“采集”表單數(shù)據(jù)
當(dāng)瀏覽器向WFB服務(wù)器某PHP程序提交數(shù)據(jù)后,該P(yáng)HP程序應(yīng)該根據(jù)其“提交”
方式?jīng)Q定使用何種數(shù)據(jù)“采集”方法。當(dāng)瀏覽器以GET方式提交的數(shù)據(jù)時(shí),服務(wù)器
端PHP程序應(yīng)當(dāng)使用預(yù)定義變最$GET“采集”提交數(shù)據(jù):當(dāng)瀏覽器以POST方式提
交的數(shù)據(jù)時(shí),服務(wù)器端PHP程序應(yīng)當(dāng)使用預(yù)定義變量$_POST“采集”提交數(shù)據(jù);
當(dāng)以POST方式提交的請(qǐng)求數(shù)據(jù)中包含上傳文件時(shí),服務(wù)器端PHP程序應(yīng)當(dāng)使用預(yù)
定義變星$_FILES"采集“上傳文件。
6-5上傳文件的“數(shù)據(jù)采集”
1.與上傳相關(guān)的配置
下面的配置選項(xiàng)保存在配置文件中,可以適當(dāng)?shù)男薷倪@些的配置選項(xiàng)滿足特定的
文件上傳需要。
file_uploads:配置了是否允許通過(guò)HTTP協(xié)議上傳文件。默認(rèn)值為On,
表示PHP預(yù)處理器支持文件上傳功能。典型配置示例:file_uploads=On。
post_max_size:使用POST提交方式提交表單數(shù)據(jù)時(shí),post_max_size選項(xiàng)配
置了PHP預(yù)處理器能夠接受的最大表單數(shù)據(jù)大小。默認(rèn)值為8M,裝示裝單中所有數(shù)
據(jù)(包括上傳文件)大小之和必須小于8M字節(jié),否則PHP程序?qū)⒉荒懿杉饺魏?/p>
的表單數(shù)據(jù)。即當(dāng)表單數(shù)據(jù)大小大:post.max.size選項(xiàng)定義的值時(shí),提交表單后,
$_GET、$_POST和$_FILES將為空數(shù)組。典型配置示例:post_max_size=
8Mo
文件上傳流程
3.預(yù)定義變最$_F1LES
4.預(yù)定義變量$_FILES
文件上傳的實(shí)現(xiàn)
6-6WEB服務(wù)器端其它數(shù)據(jù)采集方法
復(fù)習(xí)及作業(yè)布置:
擴(kuò)展學(xué)習(xí)參考:
課后反思:
教學(xué)過(guò)程:
復(fù)習(xí)導(dǎo)入,本章首先講解瀏覽器端數(shù)據(jù)的提交方式,然后講解如何創(chuàng)建FORM表單實(shí)現(xiàn)瀏覽器端的數(shù)
據(jù)采集,最后講解PHP程序各種數(shù)據(jù)采集的方法,通過(guò)本章的學(xué)習(xí),學(xué)生可以結(jié)合PHP數(shù)組實(shí)現(xiàn)功
能復(fù)雜的“用戶注冊(cè)系統(tǒng)”。然后按以下內(nèi)容講解:
(1)介紹瀏覽器端數(shù)據(jù)的提交方式
(2)詳細(xì)講解相對(duì)路徑和絕對(duì)路徑
(3)通過(guò)演示講解使用FORM表單實(shí)現(xiàn)瀏覽器端的數(shù)據(jù)采集
(4)詳細(xì)講解使用$_GET和$_POST采集表單數(shù)據(jù)最后對(duì)本次課內(nèi)容進(jìn)行總結(jié)
授課章節(jié):第七章PHP自定義函數(shù)課時(shí)4學(xué)時(shí)
教學(xué)目的:通過(guò)學(xué)習(xí),學(xué)生可以了解PHP文件間相互引用的4個(gè)PHP語(yǔ)言結(jié)構(gòu),如何創(chuàng)
建和調(diào)用用戶自定義函數(shù),創(chuàng)建具有文件上傳功能的自定義函數(shù),重構(gòu)''用戶注冊(cè)系統(tǒng)”
的代碼,增強(qiáng)代碼重用性。
教學(xué)重點(diǎn):設(shè)計(jì)具有文件上傳功能的自定義函數(shù),重構(gòu)“用戶注冊(cè)系統(tǒng)”的代碼設(shè)計(jì)。
教學(xué)難點(diǎn):static關(guān)鍵字以及global關(guān)鍵字的使用、return語(yǔ)言結(jié)構(gòu)的使用、如何使
用函數(shù)增強(qiáng)代碼重用性。
教學(xué)內(nèi)容:
7-1PHP文件間的引用
語(yǔ)言結(jié)構(gòu)
include語(yǔ)言結(jié)構(gòu)的語(yǔ)法格式:mixedinclude(stringresource)
include語(yǔ)言結(jié)構(gòu)的功能:incude語(yǔ)言結(jié)構(gòu)將一個(gè)資源文件resource載入到當(dāng)
前PHP程序。字符串參數(shù):resource是一個(gè)資源文件的文件名,該資源可以是本地
WEB報(bào)務(wù)器上的資源,如圖片、HTML頁(yè)面、PHP頁(yè)面等,也可以是互聯(lián)網(wǎng)上的資源。
若找不到資源文件:語(yǔ)言結(jié)構(gòu)返回FALSE;若找到資源文件:resource,且資源文
件resource沒(méi)有返回值,返回整數(shù)1,否則返網(wǎng)資源文件resource的返回值。
2.require與include語(yǔ)言結(jié)構(gòu)的比較
require語(yǔ)言結(jié)構(gòu)的語(yǔ)法格式及功能與include相同,只不過(guò)兩者之間存在著
細(xì)微的區(qū)別。在錯(cuò)誤處理方便:使用include語(yǔ)言結(jié)構(gòu),如果被引用文件發(fā)生錯(cuò)誤
或不能找到被引用文件,引用文件將提示W(wǎng)arning信息然后繼續(xù)執(zhí)行下面的語(yǔ)句。使
用require語(yǔ)言結(jié)構(gòu),如果被引用文件發(fā)生錯(cuò)誤或不能找到被引用文件,引用文件
將提示warning信息及Fatalerror:致命錯(cuò)誤信息然后終止程序運(yùn)行。
和require_once語(yǔ)言結(jié)構(gòu)
教include_once和require_once語(yǔ)言結(jié)構(gòu)分別對(duì)應(yīng)于include和require語(yǔ)言結(jié)構(gòu),
學(xué)使用include_once和require_once語(yǔ)言結(jié)構(gòu)可以有效避免多次引用同一個(gè)PHP文
實(shí)件而引起函數(shù)或變量的重復(fù)定義問(wèn)題的發(fā)生。
施include_once語(yǔ)言結(jié)構(gòu)的語(yǔ)法格式:mixedinclude_once(stringresource)
過(guò)include_once語(yǔ)言結(jié)構(gòu)功能:include_once語(yǔ)句將一個(gè)資源文件resource
程載入到當(dāng)前PHP程序中。若找不到資源文件resource,include_once語(yǔ)句返回隊(duì)
設(shè)FALSEo若找到資源文件resource,且該資源文件第一次載入,include_once語(yǔ)句
計(jì)返可整數(shù)1;若找到資源文件resource,且該資源己經(jīng)載入,include_once語(yǔ)句返
TRUEo
7-2函數(shù)概述
1.函數(shù)的概念
程序設(shè)計(jì)中,可以將經(jīng)常使用的代碼段獨(dú)立出來(lái),形成單獨(dú)的子程序,這些子程
序就是函數(shù)。函數(shù)只需要定義一次,之后便可以重復(fù)使用,故可以增強(qiáng)了代碼的重
用性。一般而言,函數(shù)的功能比較單一,因此函數(shù)的編寫和維護(hù)比較容易。
2.函數(shù)的分類
PHP函數(shù)種類和變量種類的劃分方法相似,PHP中有三種類型的函數(shù):內(nèi)置函數(shù)、自
定義函數(shù)和變量函數(shù)。
內(nèi)置函數(shù)類似了于預(yù)定義變舉。PHP內(nèi)置函數(shù)是PHP已預(yù)定義好的函數(shù),這些函
數(shù)在編程時(shí)無(wú)需定義,可以直接使用。
自定義函數(shù)類似于自定義變量,由程序員根據(jù)特定需要編寫出來(lái)的代碼段。和內(nèi)
置函數(shù)不同,自定義函數(shù)只有在定義之后才可以使用。
變量函數(shù)類似于可變變量,變量函數(shù)的函數(shù)名為一個(gè)變量。三種類型的函數(shù)都有
一個(gè)共同特點(diǎn):調(diào)用函數(shù)時(shí),函數(shù)名大小寫不敏感,例如:調(diào)用md5()函數(shù)和調(diào)用
MD5()函數(shù)實(shí)質(zhì)上是調(diào)用同一個(gè)函數(shù)。
7-3自定義函數(shù)
1.自定義函數(shù)的定義
在PHP中,定義自定義函數(shù)的語(yǔ)法格式為:
functionfunctionName(Sparami,$param2,$param3$paramn=defaultValue)
(函數(shù)體;
return返回值;
)
2.自定義函數(shù)的聲明和調(diào)用
調(diào)用自定義函數(shù)時(shí)需要注意:應(yīng)該先聲明自定義函數(shù),然后才可以在調(diào)用處使用如
下方式調(diào)用自定義函數(shù):
functionName(paramlValue,param2Value,param3Value....paramnValue)
當(dāng)函數(shù)的定義和函數(shù)的調(diào)用位于不同的PHP文件時(shí),需要使用include
(include_once)或require語(yǔ)言結(jié)構(gòu)(require_once)引用函數(shù)定義所在的PHP
文件,這個(gè)過(guò)程稱為函數(shù)的聲明。當(dāng)函數(shù)的定義和函數(shù)的調(diào)用位于幾同一個(gè)PHP文
件時(shí),此時(shí)無(wú)須函數(shù)的聲明即可直接調(diào)用自定義函數(shù)。
3.自定義函數(shù)的參數(shù)賦值
和變暈賦值方法相同,自定義函數(shù)的參數(shù)賦值有兩種方法:傳值賦值和傳地址賦值。
(1)傳值賦值
默認(rèn)情況下,自定義函數(shù)的參數(shù)是按傳值賦值的方式為函數(shù)參數(shù)賦值,即將一個(gè)值
的“拷貝”賦值給函數(shù)的參數(shù)。
(2)傳地址賦值
自定義函數(shù)的參數(shù)也可使用傳地址賦值,即:將一個(gè)變量的“引用”傳遞給函數(shù)的
參數(shù)。和變量傳地址賦值的方式一樣,在函數(shù)的參數(shù)名前追加一個(gè)“曠符實(shí)現(xiàn)傳地
址賦值。4.變量的作用域和global關(guān)鍵字
4.變量的作用域取決于變量在PHP程序的位置:
?在函數(shù)內(nèi)定義的變景(包括函數(shù)的參數(shù))為局部變聳,局部變量在調(diào)用函數(shù)結(jié)
束后被白動(dòng)回收。
?在函數(shù)外定義的變量為全局變量,聲明后的全局變量可以被PHP程序中所有語(yǔ)
句訪問(wèn)(函數(shù)內(nèi)的PHP語(yǔ)句除外),當(dāng)程序執(zhí)行到程序末尾的時(shí)候,全局變量才被自
動(dòng)回收。全局變最也可以應(yīng)用于include語(yǔ)句和require語(yǔ)句所引用的PHP程序文
件。
如果函數(shù)中的PHP語(yǔ)句要訪問(wèn)全局變量,需要在函數(shù)內(nèi)定義的變量名前加關(guān)鍵
字global,此時(shí)函數(shù)內(nèi)局部變量變?yōu)槿肿兞俊?/p>
5.變量的生存周期和static關(guān)鍵字
函數(shù)內(nèi)定義的變量生存周期是短暫的:每一次函數(shù)調(diào)用的開始到這一次函數(shù)調(diào)
用的結(jié)束。有時(shí)希望函數(shù)中的變量能夠從這次調(diào)用一直存活到下次調(diào)用,此時(shí)需要
在該變量前加上static關(guān)鍵字。static關(guān)鍵字一般在函數(shù)定義中使用,用于修飾
局部變量。
6.變量函數(shù)
變量函數(shù)類似于可變變量,變量函數(shù)的函數(shù)名為變量。使用變量函數(shù)可以實(shí)現(xiàn)通
過(guò)改變變量的值的方法調(diào)用不同的函數(shù)。變量函數(shù)的調(diào)用方法如下:
SvarName(paramlValue,param2Value,param3Valu3,…paramnValue)
7-4自定義函數(shù)綜合示例
文件上傳功能的函數(shù)upload()的制作
表單綜合應(yīng)用
<pllp
functionupload($file,$filePath){
$error=$file[error;
switch($error){
case0:
$fileName=$file[,nanle,];
$fileTemp=$file[tmp_name;
$destination=$filePath."/".$fileName;
move_up1oaded_file($fileTemp,$destination);
return”文件上傳成功!”;
case1:
return”上傳附件超過(guò)了中upload_max_filesize選項(xiàng)限制的
值!”
case2:
return“上傳附件的大小超過(guò)了form表單MAX_FILE_SIZE選項(xiàng)
指定的值!”
case3:
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年滬教版選修6地理上冊(cè)月考試卷含答案
- 2025年蘇教版選擇性必修1歷史下冊(cè)階段測(cè)試試卷含答案
- 2025年教科新版九年級(jí)生物上冊(cè)月考試卷含答案
- 2025年滬科版選擇性必修3化學(xué)上冊(cè)階段測(cè)試試卷含答案
- 2025年度中央廚房設(shè)備定期檢查與維護(hù)合同4篇
- 2025年度高端面包屋品牌加盟及產(chǎn)品訂購(gòu)合同4篇
- 技術(shù)許可合同(2篇)
- 房屋獨(dú)家銷售合同(2篇)
- 武漢2025年度倉(cāng)儲(chǔ)物流租賃合同標(biāo)準(zhǔn)文本3篇
- 2025年度模具設(shè)計(jì)研發(fā)委托合同書-創(chuàng)新解決方案4篇
- 圖像識(shí)別領(lǐng)域自適應(yīng)技術(shù)-洞察分析
- 個(gè)體戶店鋪?zhàn)赓U合同
- 禮盒業(yè)務(wù)銷售方案
- 二十屆三中全會(huì)精神學(xué)習(xí)試題及答案(100題)
- 小學(xué)五年級(jí)英語(yǔ)閱讀理解(帶答案)
- 仁愛版初中英語(yǔ)單詞(按字母順序排版)
- (正式版)YS∕T 5040-2024 有色金屬礦山工程項(xiàng)目可行性研究報(bào)告編制標(biāo)準(zhǔn)
- 小學(xué)一年級(jí)拼音天天練
- 新概念英語(yǔ)第二冊(cè)考評(píng)試卷含答案(第49-56課)
- 【奧運(yùn)會(huì)獎(jiǎng)牌榜預(yù)測(cè)建模實(shí)證探析12000字(論文)】
- 救生艇筏、救助艇基本知識(shí)課件
評(píng)論
0/150
提交評(píng)論