- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
本节主要内容什么是表单验证PHP表单的基本验证的内容PHP表单的安全验证的内容为用户注册页面添加表单验证功能
为什么要做PHP表单验证表单是HTML中实现用户和系统交互的设计。在通过表单接收用户填写的数据时,表单中的每一个字段都有特定的含义,例如当接收邮箱地址时,就需要验证是不是一个合法的邮箱格式。表单中的各字段还应限制用户输入的长度或者范围。例如,密码要求最少6位,最长10位。对表单的输入数据进行验证,一方面可以保证用户输入的数据符合要求,还可以提高web系统的安全性,对于防范黑客和垃圾邮件很重要。
PHP表单的基本验证简单计算器(ch4_5.php):新增一个PHP文件,添加一个表单用来完成简单计算器功能,两个文本框用来输入两个操作数,一个下拉列表用来选择操作符类型,单击提交按钮后跳转到表单处理页面(ch4_5_ok.php)。输入要求:两个输入的数不能为空且必须为数值类型。
简单计算器设计思路:编写一个PHP网页,在页面中添加一个表单,用于编辑计算器的操作数和选择操作符。编写一个表单处理程序,处理表单的数据,并对提交的表单数据进行验证。表单验证失败时,将错误信息显示在页面中。验证表单验证功能是否能正确验证非法数据。
简单计算器的设计与实现1)新建名为ch4_5.php的PHP文件2)新建名为ch4_5_ok.php的页面处理文件3)新建一个统一显示校验错误信息的页面error.php4)编写三个文件代码
ch4_5_ok.php页面的部分代码?phpdefine(APP,newsmgs);?…… //$error数组保存验证后的错误信息 $error=array(); //判断$_POST是否为非空数组 if(!empty($_POST)){ $fields=array(number1,oper,number2); foreach($fieldsas$v){ $save_data[$v]=isset($_POST[$v])?$_POST[$v]:; }
ch4_5_ok.php页面的部分代码//验证number1字段,若为空或者不是数值,将错误信息保存到$error数组中if($save_data[number1]==||!is_numeric($save_data[number1])){$error[number1]=操作数1输入有误,输入不能为空或必须为数值;}//验证number2字段,若为空或者不是数值,将错误信息保存到$error数组中if($save_data[number2]==||!is_numeric($save_data[number2])){$error[number2]=操作数2输入有误,输入不能为空或必须为数值;}
ch4_5_ok.php页面的部分代码//如果$error数组为空,说明没有错误if(empty($error)){ //表单验证成功 die(表单数据验证成功!);}else{ //表单验证失败,显示错误信息 requireerror.php;}die()函数是PHP的系统函数,它的功能是输出一条消息并退出当前程序。
error.php?phpif(!defined(APP))die(error!);//防止被直接访问?divclass=error-box 错误信息如下: ul?php foreach($erroras$v){ if($v!=){ echoli$v/li;} } ?/ul/div在网页顶部验证常量APP是否存在,如果不存在,则退出程序,并显示error!。这样做的目的是防止用户直接访问error.php文件
PHP表单安全验证输入过滤在开发PHP程序时,为了便于调试,会将用户输入的内容直接显示在网页中。但是网站上线时,如果不对用户的输入做任何过滤,会带来安全风险。$username=$_POST[username];$userpassword=$_POST[userpassword];echo您输入的用户名为:.$username.,密码为:.$userpassword;如果用户输入的是一段脚本,如“scriptalert(ok);/script”,那么这些代码就会被执行
与输入过滤相关的几个函数trim()函数可以去除字符串左右两端的空白字符,包括空格、换行和制表符等。htmlspecialchars()函数可以将字符串中的HTML特殊字符转换为HTM
文档评论(0)