php培訓(xùn)講義4Php常用交互技術(shù)_第1頁
php培訓(xùn)講義4Php常用交互技術(shù)_第2頁
php培訓(xùn)講義4Php常用交互技術(shù)_第3頁
php培訓(xùn)講義4Php常用交互技術(shù)_第4頁
php培訓(xùn)講義4Php常用交互技術(shù)_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

Php動(dòng)態(tài)網(wǎng)站設(shè)計(jì)與應(yīng)用段克奇Sea_coral@163.com3/28/20251第四講Php常用交互技術(shù)1.操作表單2.?傳值3.獲取客戶端IP、OS、IE4.cookie技術(shù)5.上傳文件6.發(fā)送郵件3/28/20252第四講Php常用交互技術(shù)1.操作表單$_POST[“”]數(shù)組$_GET[“”]數(shù)組比如:<form.html><FORMMETHOD="POST"ACTION="result.php">用戶名稱:<INPUTTYPE="text"NAME="userid"><BR>用戶口令:<INPUTTYPE="password"name="pwd"><BR>用戶愛好:<INPUTTYPE="checkbox"NAME="ah[]"value="film1">電影1<INPUTTYPE="checkbox"NAME="ah[]"value="film2">電影2<INPUTTYPE="checkbox"NAME="ah[]"value="film3">電影3<INPUTTYPE="checkbox"NAME="ah[]"value="film4">電影4<INPUTTYPE="submit"><INPUTTYPE="reset"></FORM>3/28/20253第四講Php常用交互技術(shù)1.操作表單這是result.php頁面的處理代碼:<?php$userid=$_POST["userid"];$pwd=$_POST["pwd"];$ah=$_POST["ah"];//成為數(shù)組$num=count($ah);//統(tǒng)計(jì)愛好的個(gè)數(shù)?>用戶名稱:<?phpecho$userid;?><br>用戶口令:<?phpecho$pwd;?><br>用戶愛好:一共有<?phpecho$num;?>個(gè)愛好!分別如下:<p><?phpforeach($ahas$r){ echo$r."<br>";}?>

注意:這兩個(gè)基本的數(shù)組只能用大寫字母:

錯(cuò)誤:$_get[""]$post[""]3/28/20254第四講Php常用交互技術(shù)2.?傳值這個(gè)操作和asp環(huán)境完全相同,舉例說明3/28/20255第四講Php常用交互技術(shù)3.獲取客戶端IP、OS、IE<?phpecho$_SERVER["REMOTE_ADDR"];echo"<p>";echo$_SERVER["HTTP_USER_AGENT"];//可以用split()函數(shù)隱藏ip的某一位.?>3/28/20256第四講Php常用交互技術(shù)3.獲取客戶端IP、OS、IEfunctionos($text){ if((strstr($text,"NT5.2"))!="") $system="Windows2003"; elseif((strstr($text,"NT5.1"))!="") $system="WindowsXP"; elseif((strstr($text,"NT5"))!="") $system="Windows2000"; elseif((strstr($text,"NT4"))!="") $system="WindowsNT4"; elseif((strstr($text,"NT4.9"))!="") $system="WindowsME"; elseif((strstr($text,"98"))!="") $system="Windows98"; elseif((strstr($text,"95"))!="") $system="Windows95"; else $system="未知"; return$system; }3/28/20257第四講Php常用交互技術(shù)3.獲取客戶端IP、OS、IEfunctionbrowser($text){ if((strstr($text,"MSIE6.0"))!="") $r="InternetExplorer6.0"; elseif((strstr($text,"MSIE5.5"))!="") $r="InternetExplorer5.5"; elseif((strstr($text,"MSIE5.01"))!="") $r="InternetExplorer5.01"; elseif((strstr($text,"MSIE5.0"))!="") $r="InternetExplorer5.00"; elseif((strstr($text,"MSIE4.0"))!="") $r="InternetExplorer4.01"; else $r="未知"; return$r;}3/28/20258第四講Php常用交互技術(shù)3.獲取客戶端IP、OS、IE<?php//***********調(diào)用方法*******************echo$_SERVER["REMOTE_ADDR"];echo"<p>";echo$_SERVER["HTTP_USER_AGENT"];echo"<p>";echoos($_SERVER["HTTP_USER_AGENT"]);echo"<p>";echobrowser($_SERVER["HTTP_USER_AGENT"]);?>3/28/20259第四講Php常用交互技術(shù)4.Cookie技術(shù)應(yīng)用:Cookie是用戶訪問網(wǎng)站時(shí),由web服務(wù)器在客戶端磁盤上寫入的一些小文件,用于記錄瀏覽者的一些個(gè)人信息以及所做的操作信息。在需要時(shí)你可以像使用一般變量一樣方便的使用cookie。Cookies由函數(shù)setcookie()設(shè)定。與輸出HTTP標(biāo)頭的函數(shù)header()一樣,setcookie()必須在任何實(shí)際內(nèi)容杯輸出到瀏覽器之前調(diào)用。在php環(huán)境下設(shè)置cookie變量的語法如下:

setcookie(“變量名稱”,變量結(jié)果,有效期) 比如: setcookie(“num”,1,time()+10)意思為聲明一個(gè)cookie變量num結(jié)果為1,有效期為10秒。 //time()函數(shù)返回自1970年1月1日以來的以秒數(shù)計(jì)的時(shí)間3/28/202510第四講Php常用交互技術(shù)4.Cookie技術(shù)應(yīng)用:通常是使用Time()和Mktime()來設(shè)置cookie變量的壽命,從而避免瀏覽器關(guān)閉時(shí),cookie變量的終止。Time()函數(shù)用來確定當(dāng)前時(shí)間,秒為單位,比如:<?phpechotime();?>一般用此函數(shù)設(shè)置cookie終止的相對(duì)時(shí)間;比如:setcookie(“num”,1,time()+10)//表示相對(duì)于當(dāng)前時(shí)間10秒后失效Mktime()Mktime(hour,minute,second,month,day,year)比如:mktime(0,0,0,7,1,2005)表示2005-7-100:00:00一般用此函數(shù)設(shè)置cookie終止的絕對(duì)時(shí)間;比如:setcookie(“num”,1,mktime(0,0,0,7,1,2005))//表示絕對(duì)在2005-7-100:00:00后失效3/28/202511第四講Php常用交互技術(shù)4.Cookie技術(shù)應(yīng)用:訪問cookie:在php中,設(shè)置cookie后,不能再相同的請(qǐng)求中訪問cookie。而在設(shè)置完后,需要重載網(wǎng)頁才可以正常訪問。Isset()函數(shù):用于確定變量是否被設(shè)置,如已經(jīng)設(shè)置,返回true,否則返回false;Empty()函數(shù):Header()函數(shù):網(wǎng)頁重定向header("location:form.php?message=不能為空!");用$_COOKIE[“”]數(shù)組來接收cookie變量中的結(jié)果。比如:$num=$_COOKIE[“num”];//表示接收上述設(shè)置的cookie變量

3/28/202512第四講Php常用交互技術(shù)4.Cookie技術(shù)應(yīng)用:一個(gè)簡(jiǎn)單的計(jì)數(shù)器例子:<?if(isset($_COOKIE["num"]))Setcookie("num",$_COOKIE["num"]+1,time()+60);elseSetcookie("num",1,time()+60);echo$_COOKIE["num"];?>//也可以結(jié)合前面講的圖形計(jì)數(shù)器效果改成圖形效果。//下面再舉一個(gè)用戶登陸用cookie變量記錄用戶信息的例子。3/28/202513第四講Php常用交互技術(shù)5.php上傳文件處理: php上傳文件是使用php環(huán)境中的全局變量$_FILES來完成的,全局變量$_FILES自PHP4.1.0起存在,此數(shù)組包含有所有上傳的文件信息。(在更早的版本中用$HTTP_POST_FILES替代)。可以如下建立一個(gè)特殊的表單來支持文件上傳:<formenctype="multipart/form-data"action="upload.php"method="POST">選擇上傳文件:<inputname="uploadfile"type="file"><inputtype="submit"value="上傳"></form>注:要確保文件上傳表單的屬性是enctype=“multipart/form-data”,否則文件上傳不了。以上范例中$_FILES數(shù)組的內(nèi)容如下所示。我們假設(shè)文件上傳字段的名稱如上例所示,為uploadfile。名稱可隨意命名。$_FILES[“uploadfile”]["name"] 客戶端機(jī)器文件的原名稱。$_FILES[“uploadfile”]["size"] 已上傳文件的大小,單位為字節(jié)。$_FILES[“uploadfile”]["tmp_name"]文件被上傳后在服務(wù)端儲(chǔ)存的臨時(shí)文件名。$_FILES[“uploadfile”]["error"]和該文件上傳錯(cuò)誤代碼。在PHP4.2.0新增的。$_FILES[“uploadfile”]["type"]文件的MIME類型。[如果瀏覽器提供此信息的話。一個(gè)例子是“image/gif”。不過此MIME類型在PHP端并不檢查,因此不要想當(dāng)然認(rèn)為有這個(gè)值。]注:上述代碼中的["name"]["size"]["tmp_name"]["error"]["type"]都是關(guān)鍵字,不能拼寫出錯(cuò)。3/28/202514第四講Php常用交互技術(shù)5.php上傳文件處理:以上范例中$_FILES數(shù)組的內(nèi)容如下所示。我們假設(shè)文件上傳字段的名稱如上例所示,為uploadfile。名稱可隨意命名。$_FILES[“uploadfile”]["name"] 客戶端機(jī)器文件的原名稱。$_FILES[“uploadfile”]["size"] 已上傳文件的大小,單位為字節(jié)。$_FILES[“uploadfile”]["tmp_name"]文件被上傳后在服務(wù)端儲(chǔ)存的臨時(shí)文件名。$_FILES[“uploadfile”]["error"]和該文件上傳錯(cuò)誤代碼。在PHP4.2.0新增的。$_FILES[“uploadfile”][“type”]文件的MIME類型。 如果瀏覽器提供此信息的話。一個(gè)例子是“image/gif”。不過此MIME類型在PHP端并不檢查,因此不要想當(dāng)然認(rèn)為有這個(gè)值。 注:上述代碼中的[“name”][“size”][“tmp_name”][“error”][“type”]都是關(guān)鍵字,不能拼寫出錯(cuò)。 文件被上傳后,默認(rèn)地會(huì)被儲(chǔ)存到服務(wù)端的默認(rèn)臨時(shí)目錄中,即php.ini中的upload_tmp_dir設(shè)置的路徑下。3/28/202515第四講Php常用交互技術(shù)5.php上傳文件處理:表單接收頁面upload.php<?php$t=0;/*設(shè)置超時(shí)限制時(shí)間缺省時(shí)間為30秒設(shè)置為0時(shí)為不限時(shí)*/set_time_limit($t);$uploadfile="upload/".($_FILES["uploadfile"]["name"]);if(move_uploaded_file($_FILES["uploadfile"]["tmp_name"],$uploadfile)){ echo"文件上傳成功!<ahref='javascript:history.back();'>返回</a>\n"; ?> <scriptlanguage="vbscript"> window.parent.form1.photo.value="<?phpecho$uploadfile?>" </script> <?php}else{ echo"文件上傳失敗!<ahref='javascript:history.back();'>返回</a>";}?>3/28/202516第四講Php常用交互技術(shù)5.php上傳文件處理:

接受上傳文件的PHP腳本為了決定接下來要對(duì)該文件進(jìn)行哪些操作,應(yīng)該實(shí)現(xiàn)任何邏輯上必要的檢查。例如可以用$_FILES['userfile']['size']變量來排除過大或過小的文件,也可以通過$_FILES['userfile']['type']變量來排除文件類型和某種標(biāo)準(zhǔn)不相符合的文件,但只把這個(gè)當(dāng)作一系列檢查中的第一步,因?yàn)榇酥低耆煽蛻舳丝刂贫赑HP端并不檢查。如果表單中沒有選擇上傳的文件,則PHP變量$_FILES['userfile']['size']的值將為0,$_FILES['userfile']['tmp_name']將為空。如果該文件沒有被移動(dòng)到其它地方也沒有被改名,則該文件將在表單請(qǐng)求結(jié)束時(shí)被刪除。3/28/202517第四講Php常用交互技術(shù)6.發(fā)送郵件:mail()函數(shù):<?phpif(mail($recipient,$subject,$message))echo"success!“;elseecho"failue!";/*$recipient:接收email地址$subject:主題$message:內(nèi)容*/?>3/28/202518第四講Php常用交互技術(shù)總結(jié):熟練掌握php的各種交互操作技術(shù)3/28/2025199、春去春又回,新桃換舊符。在那桃花盛開的地方,在這醉人芬芳的季節(jié),愿你生活像春天一樣陽光,心情像桃花一樣美麗,日子像桃子一樣甜蜜。3月-253月-25Friday,March28,202510、人的志向通常和他們的能力成正比例。18:52:0618:52:0618:523/28/20256:52:06PM11、

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論