版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 承德应用技术职业学院《海洋监察管理》2023-2024学年第一学期期末试卷
- 2025版综合防灾减灾工程大清包建设合同范本3篇
- 成都银杏酒店管理学院《工程管理类软件应用含技术》2023-2024学年第一学期期末试卷
- 池州学院《电气材料基础》2023-2024学年第一学期期末试卷
- 2025版酒店客房部服务员聘用合同书2篇
- 2025版美容美发店员工福利与补偿合同3篇
- 2024年证券投资私募股权基金合作协议3篇
- 2025版C型钢仓储物流服务与供应链优化合同3篇
- 热力管道施工方案步骤
- 二零二五年度信息技术开发与维护服务合同2篇
- 四川省自贡市2022-2023学年八年级上学期期末语文试题
- 变曲率双向可调收缝式翻升模板施工工法
- 教你炒红炉火版00缠论大概
- 消防管道施工合同
- 大学生计算与信息化素养-北京林业大学中国大学mooc课后章节答案期末考试题库2023年
- 2023年中国社会科学院外国文学研究所专业技术人员招聘3人(共500题含答案解析)笔试历年难、易错考点试题含答案附详解
- 2023年国开大学期末考复习题-3987《Web开发基础》
- 《骆驼祥子》1-24章每章练习题及答案
- 《伊利乳业集团盈利能力研究》文献综述3000字
- 减盐防控高血压培训课件
- 2023年百一测评-房地产企业岗位招聘工程副总经理笔试试题
评论
0/150
提交评论