版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
6.2.9PHP表單必需字段驗(yàn)證陳學(xué)平CONTENTS2.9PHP表單必需字段驗(yàn)證2.10PHP表單驗(yàn)證郵件和URL目錄012.9PHP表單必需字段驗(yàn)證2.9PHP表單必需字段驗(yàn)證本節(jié)介紹如何設(shè)置表單必需字段及錯誤信息。PHP必需字段在上一節(jié)已經(jīng)介紹了表單的驗(yàn)證規(guī)則,"名字","E-mail",和"性別"字段是必需的,各字段不能為空。如果在前面的章節(jié)中,所有輸入字段都是可選的。在以下代碼中加入了一些新的變量:$nameErr,$emailErr,$genderErr,和$websiteErr.。這些錯誤變量將顯示在必需字段上。再為每個$_POST變量增加了一個ifelse語句。這些語句將檢查$_POST變量是否為空(使用php的empty()函數(shù))。如果為空,將顯示對應(yīng)的錯誤信息。如果不為空,數(shù)據(jù)將傳遞給test_input()函數(shù):必填字段的關(guān)鍵代碼如下:PHP必需字段<?php//定義變量并默認(rèn)設(shè)為空值$nameErr=$emailErr=$genderErr=$websiteErr="";$name=$email=$gender=$comment=$website="";if($_SERVER["REQUEST_METHOD"]=="POST"){if(empty($_POST["name"])){$nameErr="名字是必需的。";}else{PHP必需字段$name=test_input($_POST["name"]);if(empty($_POST["email"])){$emailErr="郵箱是必需的。";}else{$email=test_input($_POST["email"]);}if(empty($_POST["website"])){$website="";}else{}PHP必需字段$website=test_input($_POST["website"]);}if(empty($_POST["comment"])){$comment="";}else{$comment=test_input($_POST["comment"]);}if(empty($_POST["gender"])){PHP必需字段$gender=test_input($_POST["gender"]);}}?>}else{$genderErr="性別是必需的。";PHP顯示錯誤信息在HTML實(shí)例表單中,為每個字段中添加了一些腳本,各個腳本會在信息輸入錯誤時顯示錯誤信息。(如果用戶未填寫信息就提交表單則會輸出錯誤信息):實(shí)例13PHP表單必填字段判斷實(shí)例代碼如下:<!DOCTYPEHTML><html><head><metacharset="utf-8"><title>菜鳥教程</title><style>PHP顯示錯誤信息.error{color:#FF0000;}</style></head><body><?php//定義變量并默認(rèn)設(shè)為空值$nameErr=$emailErr=$genderErr=$websiteErr="";$name=$email=$gender=$comment=$website="";PHP顯示錯誤信息if($_SERVER["REQUEST_METHOD"]=="POST"){if(empty($_POST["name"])){$nameErr="名字是必須的。";}else{$name=test_input($_POST["name"]);}if(empty($_POST["email"])){$emailErr="郵箱是必須的。";}else{PHP顯示錯誤信息$email=test_input($_POST["email"]);}if(empty($_POST["website"])){$website="";}else{$website=test_input($_POST["website"]);}if(empty($_POST["comment"])){$comment="";PHP顯示錯誤信息}else{$comment=test_input($_POST["comment"]);}if(empty($_POST["gender"])){$genderErr="性別是必須的。";}else{$gender=test_input($_POST["gender"]);}}PHP顯示錯誤信息functiontest_input($data){$data=trim($data);$data=stripslashes($data);$data=htmlspecialchars($data);return$data;}?><h2>PHP表單驗(yàn)證實(shí)例</h2><p><spanclass="error">*必填字段。</span></pPHP顯示錯誤信息><formmethod="post"action="<?phpechohtmlspecialchars($_SERVER['PHP_SELF']);?>">名字:<inputtype="text"name="name"><spanclass="error">*<?phpecho$nameErr;?></span><br><br>E-mail:<inputtype="text"name="email">PHP顯示錯誤信息<spanclass="error">*<?phpecho$emailErr;?></span><br><br>網(wǎng)址:<inputtype="text"name="website"><spanclass="error"><?phpecho$websiteErr;?></span><br><br>備注:<textareaname="comment"rows="5"cols="40"></textarea><br><br>PHP顯示錯誤信息性別:<inputtype="radio"name="gender"value="female">女<inputtype="radio"name="gender"value="male">男<spanclass="error">*<?phpecho$genderErr;?></span><br><br><inputtype="submit"name="submit"value="Submit">PHP顯示錯誤信息</form>01echo"<h2>您的輸入:</h2>";02echo$name;03echo"<br>";04echo$email;05echo"<br>";06echo$website;07echo"<br>";08echo$comment;09<?php10PHP顯示錯誤信息echo"<br>";echo$gender;?></body></html>PHP顯示錯誤信息測試如圖6-11所示。圖6-11測試效果先不輸入內(nèi)容,單擊submit,則出現(xiàn)圖6-12提示圖6-12提示必填022.10PHP表單驗(yàn)證郵件和URL2.10PHP表單驗(yàn)證郵件和URL本節(jié)介紹如何驗(yàn)證names(名稱),e-mails(郵件),和URL。PHP驗(yàn)證名稱以下代碼將通過簡單的方式來檢測name字段是否包含字母和空格,如果name字段值不合法,將輸出錯誤信息:$name=test_input($_POST["name"]);if(!preg_match("/^[a-zA-Z]*$/",$name)){$nameErr="只允許字母和空格";}說明如下:preg_match—進(jìn)行正則表達(dá)式匹配。語法:PHP驗(yàn)證名稱intpreg_match(string$pattern,string$subject[,array$matches[,int$flags]])在subject字符串中搜索與pattern給出的正則表達(dá)式相匹配的內(nèi)容。如果提供了matches,則其會被搜索的結(jié)果所填充。$matches[0]將包含與整個模式匹配的文本,$matches[1]將包含與第一個捕獲的括號中的子模式所匹配的文本,以此類推。PHP驗(yàn)證郵件以下代碼將通過簡單的方式來檢測e-mail地址是否合法。如果e-mail地址不合法,將輸出錯誤信息:$email=test_input($_POST["email"]);if(!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)){$emailErr="非法郵箱格式";}PHP驗(yàn)證URL以下代碼將檢測URL地址是否合法(以下正則表達(dá)式運(yùn)行URL中含有破折號:"-"),如果URL地址不合法,將輸出錯誤信息:$website=test_input($_POST["website"]);if(!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)){$websiteErr="非法的URL的地址";}PHP驗(yàn)證URL4.PHP驗(yàn)證Name,E-mail,和URL實(shí)例14PHP驗(yàn)證姓名Name、郵件E-mail和網(wǎng)址URL實(shí)例代碼如下:代碼如下所示:<?php//定義變量并默認(rèn)設(shè)置為空值$nameErr=$emailErr=$genderErr=$websiteErr="";$name=$email=$gender=$comment=$website="";PHP驗(yàn)證URLif($_SERVER["REQUEST_METHOD"]=="POST"){1if(empty($_POST["name"])){2$nameErr="Nameisrequired";3}else{4$name=test_input($_POST["name"]);5//檢測名字是否只包含字母跟空格6if(!preg_match("/^[a-zA-Z]*$/",$name)){7$nameErr="只允許字母和空格";8PHP驗(yàn)證URL}}if(empty($_POST["email"])){$emailErr="Emailisrequired";}else{$email=test_input($_POST["email"]);//檢測郵箱是否合法if(!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)){$emailErr="非法郵箱格式";PHP驗(yàn)證URL}}if(empty($_POST["website"])){$website="";}else{$website=test_input($_POST["website"]);//檢測URL地址是否合法if(!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)){PHP驗(yàn)證URL$websiteErr="非法的URL的地址";}}if(empty($_POST["comment"])){$comment="";}else{
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度電子合同法律效力認(rèn)定及證據(jù)保全操作規(guī)程3篇
- 二零二五年度汽車銷售與售后服務(wù)咨詢合同2篇
- 二零二五年鋼筋制作與安裝勞動合同規(guī)范3篇
- 二零二五版企業(yè)品牌形象策劃執(zhí)行合同3篇
- 二零二五年度工傷事故賠償協(xié)議及后續(xù)心理咨詢服務(wù)合同6篇
- 二零二五年度電梯產(chǎn)品研發(fā)與創(chuàng)新基金投資合同3篇
- 二零二五年度蜜蜂養(yǎng)殖環(huán)境監(jiān)測與改善合同2篇
- 小麥種子繁育生產(chǎn)合同(2篇)
- 二零二五年電子商務(wù)SET協(xié)議安全技術(shù)實(shí)施合同3篇
- 二零二五年智能工廠生產(chǎn)過程監(jiān)控合同樣本3篇
- 2024年采購代發(fā)貨合作協(xié)議范本
- 2024年業(yè)績換取股權(quán)的協(xié)議書模板
- 顳下頜關(guān)節(jié)疾病(口腔頜面外科學(xué)課件)
- 工業(yè)自動化設(shè)備維護(hù)保養(yǎng)指南
- 2024人教新版七年級上冊英語單詞英譯漢默寫表
- 《向心力》參考課件4
- 2024至2030年中國膨潤土行業(yè)投資戰(zhàn)略分析及發(fā)展前景研究報告
- 2024年深圳中考數(shù)學(xué)真題及答案
- 土方轉(zhuǎn)運(yùn)合同協(xié)議書
- Module 3 Unit 1 Point to the door(教學(xué)設(shè)計(jì))-2024-2025學(xué)年外研版(三起)英語三年級上冊
- 智能交通信號燈安裝合同樣本
評論
0/150
提交評論