PHP實驗指導(dǎo)書.doc_第1頁
PHP實驗指導(dǎo)書.doc_第2頁
PHP實驗指導(dǎo)書.doc_第3頁
PHP實驗指導(dǎo)書.doc_第4頁
PHP實驗指導(dǎo)書.doc_第5頁
免費預(yù)覽已結(jié)束,剩余31頁可下載查看

下載本文檔

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

文檔簡介

PHP程序設(shè)計實驗指導(dǎo)書實驗?zāi)夸泴嶒?. PHP開發(fā)環(huán)境安裝3實驗2. PHP基礎(chǔ)(一)8實驗3. PHP基礎(chǔ)(二)10實驗4. PHP數(shù)據(jù)處理14實驗5. PHP Web項目實踐23實驗6. PHP和數(shù)據(jù)庫29實驗7. PHP和Ajax技術(shù)33實驗1. PHP開發(fā)環(huán)境安裝一、實驗?zāi)康?掌握 Apache服務(wù)環(huán)境安裝和配置。2掌握PHP環(huán)境安裝和配置。3初步接觸PHP程序。二、實驗內(nèi)容1安裝和配置Apache服務(wù)環(huán)境。2安裝和配置PHP環(huán)境。3使用Eclipse開發(fā)簡單的PHP程序。三、實驗準(zhǔn)備1了解Apache和php開發(fā)環(huán)境的組成。2準(zhǔn)備Apache服務(wù)安裝包httpd-2.2.19-win32-x86-openssl-0.9.8r.msi。3準(zhǔn)備PHP安裝包php-5.2.17-Win32-VC6-x86.msi。4準(zhǔn)備Eclipse3.0文件夾。四、實驗步驟1安裝Apache服務(wù)雙擊文件httpd-2.2.19-win32-x86-openssl-0.9.8r.msi,在安裝程序打開窗口中,除了制定安裝目錄,并設(shè)定輸入主機名、管理員信箱見圖1.1圖1.1一路選擇“Next”下去,完成安裝。安裝完成后,在任務(wù)欄托盤區(qū)中會增加一個Apache服務(wù)程序運行圖標(biāo),這說明服務(wù)器已經(jīng)安裝成功,在IE地址欄中鍵入http:/localhost/,即可看到Apache的歡迎頁面。2設(shè)置Apache的服務(wù)端口在Apache安裝路徑下的conf文件夾中,打開httpd.conf文件,找到“l(fā)isten 80”所在的一行,將“80”改為自己希望的端口號,如8000。修改后,停止Apache服務(wù),再啟動,然后再瀏覽器地址欄中輸入http:/localhost:8000,觀察效果。3安裝PHP環(huán)境雙擊文件php-5.2.17-Win32-VC6-x86.msi,進入安裝步驟,見圖1.2圖1. 2點擊“Next”按鈕,出現(xiàn)安裝協(xié)議界面,見圖1.3圖1. 3選中“I accept” 后,點擊“Next”按鈕,見圖1.4圖1. 4制定PHP安裝目錄,點擊“Next”按鈕,見圖1.5圖1. 5選擇Apache2.2. x Module,點擊“Next”按鈕,見圖1.6圖1.6在輸入欄中輸入剛才Apache服務(wù)所安裝的路徑,或用“Browse”制定該路徑,點擊“Next”按鈕,見圖1.7圖1. 7選擇需要安裝的項目,點擊“Next”按鈕,見圖1.8圖1. 8安裝參數(shù)設(shè)定完了,點擊“Install”按鈕,安裝PHP,直到見圖1.9, PHP安裝完畢。圖1. 94配置PHP參數(shù)(1)在步驟2所用到的httpd.conf文件中,把文件最后的 #BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALLPHPIniDir E:PHPphpLoadModule php5_module E:PHPphpphp5apache2_2.dllAddType application/x-httpd-php .php#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL中PHPIniDir 一行的“”中,填寫為PHP的安裝路徑。LoadModule php5_module 一行的 ,填寫為PHP的安裝路徑 php5apache2_2.dll。(2)找到PHP的安裝路徑下的php.ini,配置找到:; be sure not to use short tags.short_open_tag = Off; Allow ASP-style tags.asp_tags = Off將其中的Off全都改為On(3)將PHP安裝路徑下的文件libmysql.dll,復(fù)制到C:windowssystem32中。(4)上述的(1)、(2)、(3)都做完后,重新啟動Apache服務(wù)。5在Apache安裝路徑下的htdocs文件夾中,建立一個文件,a.php,內(nèi)容如下在瀏覽器中輸入http:/localhost:8000/a.php,效果如圖1.10圖1.10實驗2. PHP基礎(chǔ)(一)一、實驗?zāi)康?掌握PHP語法基本元素,掌握數(shù)據(jù)類型、變量和常量、運算符、表達式的使用。2掌握PHP流程控制。3掌握在Html和PHP命令標(biāo)記相結(jié)合的方法。4掌握用PHP和Html交互的處理方法。二、實驗內(nèi)容1. PHP語法:數(shù)據(jù)類型、變量和常量、運算符、表達式、流程控制。2. PHP和html交互。3.三、實驗準(zhǔn)備1了解在html中嵌入PHP代碼的方法。2了解PHP的語法。3了解用php讀取html表單控件數(shù)值的方法。四、實驗步驟1在html中嵌入PHP命令標(biāo)記實驗任務(wù):編寫一個php動態(tài)頁面,在html標(biāo)記中用先嵌入一段php代碼,給變量$xh賦一個文本數(shù)值;然后把$xh的數(shù)值作為一個html表單中的文本型輸入框的value屬性值。 編程示例:在html中嵌入PHP命令PHP inside html 學(xué)號是input type=text name=xh size=20 value= 2PHP語法實驗(1)變量、表達式和判斷的使用實驗任務(wù):編寫一段PHP代碼,用于判斷一個整數(shù)變量的數(shù)值是否大于5,并顯示判斷結(jié)果。編程示例:? echo ; $i=10; if($i5) echo i大于5; else echo i不大于5;?(2)循環(huán)實驗任務(wù):在(1)所編寫PHP代碼的基礎(chǔ)上,添加一段循環(huán),從1依次顯示到整數(shù)變量的數(shù)值,各數(shù)之間以“,”做分隔符。編程示例:? echo ; $i=10; if($i5) echo i大于5; else echo i不大于5; for($j=1;$j=$i;$j+) If($j3php讀取表單數(shù)值實驗任務(wù):編寫一個帶Form和輸入控件的PHP頁面,用PHP代碼接收輸入控件的內(nèi)容,并顯示。編程示例: PHP讀取表單練習(xí)PHP讀取表單練習(xí) 請輸入變量$i的數(shù)值 5) echo alert(i 大于5); ; else echo alert(i 不大于5); ; for($j=0;$j實驗3. PHP基礎(chǔ)(二)一、實驗?zāi)康?掌握php中函數(shù)的定義和使用方法。2掌握php中類的定義和使用方法。二、實驗內(nèi)容1. PHP函數(shù)。2. PHP面向?qū)ο缶幊?。三、實驗?zhǔn)備1了解函數(shù)的定義及使用方法。2了解類的定義及使用方法。四、實驗步驟1函數(shù)的定義和使用實驗任務(wù):設(shè)計一個PHP網(wǎng)頁ex3_1.php,其中定義一個PHP函數(shù),用于比較前兩個輸入?yún)?shù)的大小。若第三個輸入?yún)?shù)的數(shù)值是“B”,就將最大的數(shù)值返回,若第三個參數(shù)的數(shù)值是“L”,就將最小的數(shù)值返回,若前兩個輸入?yún)?shù)一樣大,則返回二者其中之一。并用同一個PHP網(wǎng)頁輸入兩個數(shù)值,調(diào)用上述的函數(shù)返回結(jié)果。編程示例: PHP函數(shù)練習(xí)=$j) $bigger=$i; $littler=$j; else $bigger=$j; $littler=$i; if($p=B) return $bigger; else return $littler;if(isset($_POSTsubmit) $a=$_POSTa; $a=(int)$a;$b=$_POSTb;$b=(int)$b;$sel=$_POSTsel; ?PHP函數(shù)練習(xí) 請輸入變量$a的數(shù)值 input type=text name=a size=20 value= 請輸入變量$b的數(shù)值 input type=text name=b size=20 value= 指定返回數(shù)值是 最大值 最小值   結(jié)果是 2類的定義和使用實驗任務(wù):在一個PHP網(wǎng)頁ex3_2.php中,設(shè)計一個學(xué)生管理類,有學(xué)號、姓名、專業(yè)等屬性,用來存儲學(xué)生的信息。用PHP代碼創(chuàng)建學(xué)生管理類的實例,并用輸入文本框給實例的屬性賦值,并顯示實例的屬性數(shù)值。編程示例:PHP面向?qū)ο笤O(shè)計練習(xí)sid=$xh;$this-sname=$xm;$this-spel=$zy;echo 學(xué)號:.$this-sid.;echo 姓名:.$this-sname.;echo 專業(yè):.$this-spel.; ?PHP類的設(shè)計練習(xí) 請輸入學(xué)號: input type=text name=sid size=20 value= 請輸入姓名 input type=text name=sname size=20 value= 請指定專業(yè) 軟件設(shè)計 信息管理   實例是 show($sid,$sname,$spel); /echo $sid;? 實驗4. PHP數(shù)據(jù)處理一、實驗?zāi)康?掌握PHP中處理數(shù)組數(shù)據(jù)的方法。2掌握PHP中字符串操作的方法。3掌握PHP中正則表達式的使用方法。4掌握PHP中文件的操作方法。5掌握PHP中日期數(shù)據(jù)的處理方法。二、實驗內(nèi)容1. 使用PHP數(shù)組:包括定義、初始化、鍵和值、定位和遍歷。2. 進行字符串操作。3. 用正則表達式驗證表單數(shù)據(jù)正確性。4. 文件打開、關(guān)閉、寫入、讀出等操作。5. 日期函數(shù)的使用。三、實驗準(zhǔn)備1了解PHP中數(shù)組的鍵和鍵值的概念;2了解字符串各常用操作函數(shù);3了解正則表達式的規(guī)則;4了解文件的操作方法;5了解PHP時間戳的概念。四、實驗步驟1數(shù)組的操作實驗任務(wù):設(shè)計一個PHP網(wǎng)頁ex4_1.php,其中使用循環(huán)將用戶輸入的5各數(shù)由小到大排序顯示編程示例:?phpecho 請輸入需要排序的數(shù)據(jù):;echo ;for($i=1;$i6;$i+) echo ; if($i5) echo -;echo ;echo ;?php if(isset($_POSTconfirm) $temp=0;$seq=$_POSTseq;$num=count($seq);echo 您輸入的數(shù)據(jù)有:;foreach($seq as $score)echo $score.; for($i=0;$i$num;$i+)for($j=$i+1;$j$seq$i)$temp=$seq$j;$seq$j=$seq$i;$seq$i=$temp;echo 從大到小排序后的結(jié)果是:;while(list($key,$value)=each($seq)echo $value.; ?2字符串的操作實驗任務(wù):設(shè)計一個PHP網(wǎng)頁ex4_2.php,輸入5個學(xué)生的學(xué)號,如果有相同的學(xué)號則只保留一個,找到前綴為“0811” 的學(xué)生,將前綴改為“0810”,最后將所有學(xué)號輸出,以逗號“,”為分隔符。編程示例:?phpecho 請輸入學(xué)生的學(xué)號:;echo ;for($i=1;$i6;$i+) echo ; if($i5) echo -;echo ;echo ;?php if(isset($_POSTconfirm) $k=0;$jsj=array();$stu=$_POSTstu;for($i=0;$icount($stu);$i+)for($j=$i+1;$jcount($stu);$j+)if(strcmp($stu$i,$stu$j)=0) array_splice($stu,$j,1); /刪除重復(fù)元素$str=implode(,$stu);/將數(shù)組轉(zhuǎn)換為字符串echo 所有學(xué)生的學(xué)號如下:;echo $str.;foreach($stu as $value)if(strstr($value,0811)$string=str_replace(0811,0810,$value);$jsj$k=$string;$k+;echo 調(diào)整后,學(xué)生的學(xué)號如下:;echo implode(,$jsj); ?3正則表達式的使用實驗任務(wù):設(shè)計一個PHP網(wǎng)頁ex4_3.php,其中驗證表單數(shù)據(jù)的正確性,表單數(shù)據(jù)中包括用戶名、密碼、出生年月、E-mail。要求用戶名為6-12個字符,密碼為6-20各數(shù)字,出生年月為有效的日期,E-mail為有效的Email地址。編程示例: PHP正則表達式練習(xí)PHP正則表達式練習(xí) 用戶名 * 612個字符(數(shù)字,字母和下劃線) 密碼 * 620個數(shù)字 出生年月 * 格式:YYYY-MM-DD Email *   結(jié)果是 ?php if(isset($_POSTconfirm) $userid=$_POSTuserid; $pwd=$_POSTpwd; $birthday=$_POSTbirthday; $email=$_POSTemail; $checkid=preg_match(/w6,12$/,$userid); $checkpwd=preg_match(/d6,20$/,$pwd); $checkbirthday=preg_match(/d4-(0?d|1?012)-(0?d|12d|301)$/,$birthday); $checkemail=preg_match(/a-zA-Z0-9_-+a-zA-Z0-9-+.a-zA-Z0-9-.+$/,$email); if(!$checkid) echo alert(用戶名格式錯); elseif(!$checkpwd) echo alert(密碼格式錯); elseif(!$checkbirthday) echo alert(用戶生日格式錯); elseif(!$checkemail) echo alert(Email格式錯); else echo 數(shù)據(jù)格式正確; ? 4文件的操作實驗任務(wù):設(shè)計一個php網(wǎng)頁ex4_4.php,用來進行投票。投票計數(shù)記錄在php文件所在目錄中的一個文件voteresult.txt中,各個選項的投票計數(shù)值在一行中,用“|”分隔。編程示例:PHP文件操作練習(xí)   當(dāng)今最流行的Web開發(fā)技術(shù)      PHP     ASP    JSP    ASP.NET      ?php $votefile=voteresult.txt; if(!file_exists($votefile) $handle=fopen($votefile,w+);fwrite($handle,0|0|0|0);fclose($handle); if(isset($_POSTconfirm) if(isset($_POSTvote)$vote=$_POSTvote;$handle=fopen($votefile,r+);$votestr=fread($handle,filesize($votefile);fclose($handle);$votearray=explode(|,$votestr);echo 投票完畢;/if($vote=PHP)/ $votearray0+;/switch($vote)case PHP: $votearray0+; break;case ASP: $votearray1+; break;case JSP: $votearray2+; break;case ASP.NET: $votearray3+; break;default: break;echo ;$techarray=array(PHP,ASP,JSP,ASP.NET);$totalvote=0;for($i=0;$icount($votearray);$i+) echo 目前.$techarray$i.的投票數(shù)是.$votearray$i.; /echo 的投票數(shù)是.$votearrayi.; $totalvote=(int)$totalvote+$votearray$i; echo 總投票數(shù)是.$totalvote.;$votestr2=implode(|,$votearray);$handle=fopen($votefile,w+);fwrite($handle,$votestr2);fclose($handle);elseecho alert(未選擇投票選項); ?5日期數(shù)據(jù)的操作實驗任務(wù):設(shè)計一個PHP網(wǎng)頁ex4_5.php,由用戶輸入自己的生日,讓系統(tǒng)幫助計算出年齡和出生日期是星期幾。編程示例:PHP日期函數(shù)練習(xí)PHP日期函數(shù)練習(xí) 請輸入自己的生日 年 月 日      結(jié)果是 ?php date_default_timezone_set(PRC); if(isset($_POSTconfirm) $year=$_POSTyear;$month=$_POSTmonth;$day=$_POSTday;if(checkdate($month,$day,$year)echo 今天是.date(Y-m-d).;echo 您的大致年齡是:.(date(Y,time()-$year).歲;$newtime=mktime(0,0,0,date(m),date(j),date(Y);$oldtime=mktime(0,0,0,$month,$day,$year);$days=($newtime-$oldtime)/(24*3600);echo 您的出生天數(shù)是:.$days.天;$days=(float)($newtime-$oldtime)/(24*3600*(365*3+366)*4;echo 您的精確年齡是:.$days.歲;/得出生日期為星期幾$array=getdate(strtotime($year-$month-$day);echo 出生時是.$arrayweekday;else echo alert(無效的日期); ? 實驗5. PHP Web項目實踐 編寫PHP互動網(wǎng)頁一、實驗?zāi)康恼莆帐褂肞HP編寫交互網(wǎng)站所需要的方法:包括接收表單數(shù)據(jù)、使用會話等。二、實驗內(nèi)容1. 接收表單數(shù)據(jù)。2. 頁面調(diào)轉(zhuǎn)。3. 使用會話。三、實驗準(zhǔn)備1了解Web 接收表單數(shù)據(jù)的方法。2了解會話技術(shù)。3了解頁面的跳轉(zhuǎn)。四、實驗步驟實驗任務(wù):編寫一個小型Web網(wǎng)站項目,由用戶登錄后投票,若登錄不成功,則返回到登錄頁面,若登錄成功則進入投票頁面。若該用戶名已投過票,則新投票無效,并給出提示。投票內(nèi)容和投票記錄表和實驗四ex4_3一樣。用戶和密碼表保存在一個文本文件ex5_user.txt中,格式是一個用戶|密碼占一行。已投票用戶單獨使用一個文件,一個用戶名一行。說明該web項目所使用的主要技術(shù)包括,包括表單數(shù)據(jù)讀取、網(wǎng)站登錄驗證、強制跳轉(zhuǎn)、會話技術(shù)、文件讀取等。編程示例:1. 登錄頁面ex5_login.phpPHPWeb技術(shù)練習(xí)PHPWeb技術(shù)練習(xí) 用戶: 密碼       2登錄驗證ex5_check.php?php $username=$_POSTuserid; $password=$_POSTpwd;/$spel=$_POSTspel;function loaduser() $user_array=array(); $filename=ex5_user.txt; $fp=fopen($filename,r); $i=0; while($line=fgets($fp,1024) list($user,$pwd)=explode(|,$line); /從文件的行中,把數(shù)據(jù)項分開,并借助數(shù)組,賦值給兩個變量$user=trim($user);$pwd=trim($pwd);$user_array$i=array($user,$pwd); /一對用戶名和密碼,成為二維數(shù)組的一行,為下面的匹配做準(zhǔn)備 $i+; fclose($fp); return $user_array; $user_array=loaduser(); if($username) /判斷用戶輸入的用戶名和密碼是否正確if(!in_array(array($username,$password),$user_array)echo alert(用戶名或密碼錯誤); location

溫馨提示

  • 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

提交評論