php不允许用户提交空表单(php空值判断)
author:一佰互联 2019-04-29   click:161

可以修改代码,添加些判断:

复制代码 代码如下:
  if(empty($_POST["name"])){
  echo "俗话说的好,雁过留声人过留名<br />";
 }

 elseif(empty($_POST["comment"])){
  echo "矮油,多说几句吧~";
 }
 else{
  $sql = "INSERT INTO myblog_comments(blog_id, dateposted, name, comment) VALUES(" . $validentry . ", NOW(), "" . $_POST["name"] . "", "" . $_POST["comment"] . "");";
  mysql_query($sql);
  header("Location: http://". $_SERVER["HTTP_HOST"] . $_SERVER["SCRIPT_NAME"]."?id=" . $validentry);
 }

PHP空值判断

empty 和 isset 虽然都是变量处理函数,它们都用来判断变量是否已经配置,它们却是有一定的区别:empty还会检测变量是否为空、为零。当一个变量值为0,empty 认为这个变量同等于空,即相当于没有设置。

复制代码 代码如下:
<?php
/*比如检测 $id 变量,当 $id=0 时,用empty 和 isset 来检测变量 $id 是否已经配置,两都将返回不同的值—— empty 认为没有配置,isset 能够取得 $id 的值:*/
    $id=0;
    empty($id)?print "It"s empty .":print "It"s $id .";
      //结果:It"s empty .
    print "<br>";
    !isset($id)?print "It"s empty .":print "It"s $id .";
      //结果:It"s 0 .
?>

总结PHP中,“NULL” 和 “空” 是2个概念。isset  主要用来判断变量是否被初始化过
empty  可以将值为 “假”、“空”、“0”、“NULL”、“未初始化” 的变量都判断为TRUE
is_null  仅把值为 “NULL” 的变量判断为TRUE
var == null  把值为 “假”、“空”、“0”、“NULL” 的变量都判断为TRUE
var === null  仅把值为 “NULL” 的变量判断为TRUE
所以我们在判断一个变量是否真正为“NULL”时,大多使用 is_null,从而避免“false”、“0”等值的干扰。