3.1.3 用PHP验证表单数据有效性
在实际开发应用中,PHP程序往往要对用户提交的数据做验证,以保证程序的执行安全和数据的完整、有效。
本小节将在前两小节程序的基础上,加入对提交数据的验证,只有在用户完全提交有效的数据后,程序才会向浏览器输出数据,否则将会向用户输出提示信息。对代码3-2做一些修改,使之成为代码3-3,并按名称3-3.php保存在测试目录下。对代码3-1所示的HTML文档做修改,将表单提交到3-3.php。
代码3-3 用PHP验证数据3-3.php
01 <?php
02 $user_name=$_POST['user_name'];
03 $gender=$_POST['gender'];
04 $hobby=$_POST['hobby'][0]."、".$_POST['hobby'][1]."、".$_POST['hobby'][2]."、".$_POST['hobby'][3];
05 $prof=$_POST['occup'];
06
07 //当用户名为空,即没有输入用户名时,则输出一个提示信息,并中断程序的执行
08 if($user_name=="")//用户名如果为空
09 {
10 echo"请返回输入用户名!";
11 exit;//exit语句将使程序立即中断,不再向下执行
12 }
13
14 if($gender=="")//如果没有选择性别
15 {
16 echo"请返回选择性别!";
17 exit;
18 }
19
20 if($hobby=="")//如果没有选择爱好
21 {
22 echo"请返回选择兴趣与爱好!";
23 exit;
24 }
25
26 echo"用户名:".$user_name."<br/>";
27 echo"性别:".$gender."<br/>";
28 echo"爱好:".$hobby."<br/>";
29 echo"职业:".$prof."<br/>";
30 ?>
【代码解析】第2~5行首先获取表单传过来的数据,然后通过if语句来判断数据是否为空,如果为空,通过echo给出提示,然后调用exit退出程序。如果没有填写用户名便提交表单,程序就会输出一个提示信息“请返回输入用户名!”,实际效果如图3-6所示。
这个程序只对用户的输入值是否为空做了判断。事实上,数据的验证情况远远要比这多且复杂,如要求输入的数据只能是数字、限制输入内容的长度等。随着学习的深入,这些内容将会有所讲述。