版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
6.2.9PHP表单必需字段验证陈学平CONTENTS2.9PHP表单必需字段验证2.10PHP表单验证邮件和URL目录012.9PHP表单必需字段验证2.9PHP表单必需字段验证本节介绍如何设置表单必需字段及错误信息。PHP必需字段在上一节已经介绍了表单的验证规则,"名字","E-mail",和"性别"字段是必需的,各字段不能为空。如果在前面的章节中,所有输入字段都是可选的。在以下代码中加入了一些新的变量:$nameErr,$emailErr,$genderErr,和$websiteErr.。这些错误变量将显示在必需字段上。再为每个$_POST变量增加了一个ifelse语句。这些语句将检查$_POST变量是否为空(使用php的empty()函数)。如果为空,将显示对应的错误信息。如果不为空,数据将传递给test_input()函数:必填字段的关键代码如下:PHP必需字段<?php//定义变量并默认设为空值$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实例表单中,为每个字段中添加了一些脚本,各个脚本会在信息输入错误时显示错误信息。(如果用户未填写信息就提交表单则会输出错误信息):实例13PHP表单必填字段判断实例代码如下:<!DOCTYPEHTML><html><head><metacharset="utf-8"><title>菜鸟教程</title><style>PHP显示错误信息.error{color:#FF0000;}</style></head><body><?php//定义变量并默认设为空值$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表单验证实例</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>网址:<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测试效果先不输入内容,单击submit,则出现图6-12提示图6-12提示必填022.10PHP表单验证邮件和URL2.10PHP表单验证邮件和URL本节介绍如何验证names(名称),e-mails(邮件),和URL。PHP验证名称以下代码将通过简单的方式来检测name字段是否包含字母和空格,如果name字段值不合法,将输出错误信息:$name=test_input($_POST["name"]);if(!preg_match("/^[a-zA-Z]*$/",$name)){$nameErr="只允许字母和空格";}说明如下:preg_match—进行正则表达式匹配。语法:PHP验证名称intpreg_match(string$pattern,string$subject[,array$matches[,int$flags]])在subject字符串中搜索与pattern给出的正则表达式相匹配的内容。如果提供了matches,则其会被搜索的结果所填充。$matches[0]将包含与整个模式匹配的文本,$matches[1]将包含与第一个捕获的括号中的子模式所匹配的文本,以此类推。PHP验证邮件以下代码将通过简单的方式来检测e-mail地址是否合法。如果e-mail地址不合法,将输出错误信息:$email=test_input($_POST["email"]);if(!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)){$emailErr="非法邮箱格式";}PHP验证URL以下代码将检测URL地址是否合法(以下正则表达式运行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验证URL4.PHP验证Name,E-mail,和URL实例14PHP验证姓名Name、邮件E-mail和网址URL实例代码如下:代码如下所示:<?php//定义变量并默认设置为空值$nameErr=$emailErr=$genderErr=$websiteErr="";$name=$email=$gender=$comment=$website="";PHP验证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验证URL}}if(empty($_POST["email"])){$emailErr="Emailisrequired";}else{$email=test_input($_POST["email"]);//检测邮箱是否合法if(!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)){$emailErr="非法邮箱格式";PHP验证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验证URL$websiteErr="非法的URL的地址";}}if(empty($_POST["comment"])){$comment="";}else{
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四年级数学(小数加减运算)计算题专项练习与答案
- 家庭旅行资源共享机制
- 2026药物筛选领域投融资热点与估值逻辑分析
- 2027届四川省荣县八年级数学第一学期期末检测模拟试题含解析
- 2026全球可再生塑料改性技术进展与应用领域拓展研究报告
- 直播电商产品代销合作协议二篇
- 《HGT 2670-1995固色剂Y》专题研究报告
- 密采流程-考试测试卷及答案
- 拈花湾景区新员工入职培训测试(20260715)测试卷及答案
- 2027届内蒙古自治区鄂尔多斯市准格尔旗数学八年级第一学期期末复习检测试题含解析
- 2026年教育政策法规复习题及答案
- 2025年陕西省事业单位统考《综合应用能力》真题及参考答案(A类)
- 高考生物500个判断题集锦含逐题解析
- 热成像技术教学课件
- 曲臂登高车安全培训课件
- 人工智能通识导论 课件 王万良 第1-9章 人工智能概论-连接主义:人工神经网络
- 服务期间与其他单位部门综合协调方案
- 鸿蒙应用开发案例实战(ArkTS版)(AI助学)(微课版) 课件全套 项目1-7 初探HarmonyOS开发 个性化设置应用 - 融会贯通 七彩天气App开发之旅
- 小学生劳动最光荣课件下载
- 高钾血症疑难病例讨论
- 河南省开封市五校2024-2025学年高二上学期11月期中联考数学试题
评论
0/150
提交评论