注意:在PHP处理表单时请注意数据的安全性
在处理html表单之前对提交数据进行验证是非常有必要的,能够防止黑客的入侵和垃圾邮件的骚扰。
上面的html表单假设应用如下的规则:
字段–验证规则
姓名(name)–必填,必须包含字母和空格
邮件(email)–必需,必须包含有效的电子邮件地址,包括@和.
网址(website)–可选填,如果填则必须是有效的url
评论(comment)–可选填,多行输入字段
性别(gender)–必需,选择一项
html代码如下:
head>body>formaction='test.php'method='post'> 姓名:inputtype='text'name='name' />br/> 电邮:inputtype='text'name='email' />br/> 网址:inputtype='text'name='website' />br/> 评论:textareaname='comment'rows=3cols=21>textarea>br/> 性别:inputtype="radio"name='gender'value=0checked='checked'/>女性 inputtype="radio"name='gender'value=1 />男性br/>inputtype='submit'value='提交' />form>body>html>
此表单通过post的方法提交数据
通过PHP验证表单数据:
一般在过滤提交过来的数据时,会用到htmlspecialchars()函数处理数据,它会将html标签字符转换为html实体。例如会被替换为
在我们使用了htmlspecailchars()函数后,下面的代码
script>location.href('http://www.hacked.com')script>
将会被转义为:
<script>location.href('http://www.hacked.com')</script>
,现在这个提交的数据就是安全的,它不会对页面代码造成损坏。
另外,我们除了用htmlspecialchar()函数过滤数据外,还要做两件事:
- 去除用户输入数据中不必要的字符(如多余的空格,制表符,换行符等),多使用PHP的trim()函数
- 删除用户输入数据中的反斜杠(\)使用PHP的stripslashes()函数
表单数据处理实例:
$name=$email=$website=$comment='';$gender=0;$name=test_input($_POST['name']);$email=test_input($_POST['email']);$website=test_input($_POST['website']);$comment=test_input($_POST['comment']);functiontest_input($data){$data=trim($data);//去除$data数据两侧多余的空格$data=stripslashes($data);//去除$data中的反斜杠$data=htmlspecialchars($data);//将html标签转以为html实体return$data;}?>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); }); 以上就介绍了PHP表单验证 -w3school PHP学习笔记,包括了w3school方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

