Discuz教程网

PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法

[复制链接]
authicon dly 发表于 2011-8-31 10:53:57 | 显示全部楼层 |阅读模式
ISSET();——适合于检测是否存在这个参数。
定义和作用范围:用于测试一个变量是否具有值(包括0,FALSE,或者一个空字串,但不能是NULL),即:“http://localhost/?fo=”也是可以通过检测,因此不适用。但如果是“http://localhost/”参数中并不含fo参数,就可以用isset来检测,此时isset($_GET['fo'])返回false。
不适用于:该函数不适合于验证html表单中的文本的有效方式。要检查用户输入文本是否有效,可以用empty();
empty();——最好用的一个函数。
定义和作用范围:用于检查变量是否具有空值:包括:空字串,0,null 或false,即:“http://localhost/?fo=”或“http://localhost/?fo=0”时,empty检测出来的结果都是ture,不适用范围:不适用于检测可为0的参数。
is_numeric();——只适用于检测数字,但假如参数名不存在,会出错,因此不适合于第一层检测。
综合示例:
代码如下:

  1. <?php
  2. ini_set("display_errors",1);
  3. //ini_set("error_reporting",E_ALL); print_r
  4. error_reporting(E_ALL);
  5. $a=NULL;
  6. if(isset($a))echo '变量$a的isset为真';
  7. echo '<h2>isset的情形:</h2>';
  8. if(isset($_GET['fo'])){
  9. echo '变量/'fo/'的isset为真,变量可用';
  10. }else{
  11. echo '变量/'fo/'的isset为假,无变量设置';
  12. }
  13. echo '<h2>empty的情形:</h2>';
  14. if(empty($_GET['fo'])){
  15. echo '变量/'fo/'的empty为真,即空值或无效值';
  16. }else{
  17. echo '变量/'fo/'的empty为假,有值';
  18. }
  19. echo '<h2>is_numeric的情形:</h2>';
  20. if(is_numeric($_GET['fo'])){ //在参数中无fo参数时,则出错。
  21. echo '变量/'fo/'的is_numeric为真,是数字';
  22. }else{
  23. echo '变量/'fo/'的is_numeric为假,不是数字';
  24. }
  25. echo "<h2>/$_GET['fo']=''的情形:</h2>";
  26. if($_GET['fo']==''){ //在参数中无fo参数时,则出错。
  27. echo 'fo无值,空的字符串';
  28. }elseif($_GET['fo']!=''){
  29. echo 'fo有值,不为/'/'.';
  30. }
  31. echo "<h2>/$_GET['sex']='m'的情形:</h2>";
  32. if($_GET['sex']=='m'){ //当参数中无sex变量时就会出错。
  33. echo '男的';
  34. }elseif($_GET['sex']=='f'){
  35. echo '女的';
  36. }
  37. ?>
  38. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  39. <html xmlns="http://www.w3.org/1999/xhtml">
  40. <head>
  41. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
  42. <title>无标题文档</title>
  43. </head>
  44. <body>
  45. </body>
  46. <p>
  47. <a href="?fo=Jack">传有效值</a> <a href="?fo=">传空值</a> <a href="?fo=0">传0值</a>
  48. <br /><br />
  49. <a href="?sex=m">性别:男</a> <a href="?sex=f">性别:女</a>
  50. <br /><br />
  51. <a href="/">清空</a>
  52. <br /><br />
  53. <input type="text" value="<?php echo $_GET['fo']!=''?$_GET['fo']:'';?>" size="155" />
  54. </p>
  55. </html>
复制代码








上一篇:PHP用SAX解析XML的实现代码与问题分析
下一篇:PHPmyadmin安装时提示:Warning: require_once(./libraries/common.inc.PHP)错误解决
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-3 05:29

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表