可以修改代碼,添加些判斷:
復(fù)制代碼 代碼如下:
  if(empty($_POST['name'])){
  echo "俗話說(shuō)的好,雁過(guò)留聲人過(guò)留名<br />";
 }
 elseif(empty($_POST['comment'])){
  echo "矮油,多說(shuō)幾句吧~";
 }
 else{
  $sql = "INSERT INTO myblog_comments(blog_id, dateposted, name, comment) VALUES(" . $validentry . ", NOW(), '" . $_POST['name'] . "', '" . $_POST['comment'] . "');";
  mysql_query($sql);
  header("Location: ". $_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME']."?id=" . $validentry);
 }
PHP空值判斷
empty 和 isset 雖然都是變量處理函數(shù),它們都用來(lái)判斷變量是否已經(jīng)配置,它們卻是有一定的區(qū)別:empty還會(huì)檢測(cè)變量是否為空、為零。當(dāng)一個(gè)變量值為0,empty 認(rèn)為這個(gè)變量同等于空,即相當(dāng)于沒(méi)有設(shè)置。
復(fù)制代碼 代碼如下:
<?php
/*比如檢測(cè) $id 變量,當(dāng) $id=0 時(shí),用empty 和 isset 來(lái)檢測(cè)變量 $id 是否已經(jīng)配置,兩都將返回不同的值—— empty 認(rèn)為沒(méi)有配置,isset 能夠取得 $id 的值:*/
    $id=0;
    empty($id)?print "It's empty .":print "It's $id ."; 
      //結(jié)果:It's empty .
    print "<br>";
    !isset($id)?print "It's empty .":print "It's $id .";
      //結(jié)果:It's 0 .
?>
總結(jié)PHP中,“NULL” 和 “空” 是2個(gè)概念。
isset  主要用來(lái)判斷變量是否被初始化過(guò)
empty  可以將值為 “假”、“空”、“0”、“NULL”、“未初始化” 的變量都判斷為TRUE
is_null  僅把值為 “NULL” 的變量判斷為TRUE
var == null  把值為 “假”、“空”、“0”、“NULL” 的變量都判斷為TRUE
var === null  僅把值為 “NULL” 的變量判斷為TRUE
所以我們?cè)谂袛嘁粋€(gè)變量是否真正為“NULL”時(shí),大多使用 is_null,從而避免“false”、“0”等值的干擾。
新聞熱點(diǎn)
疑難解答