可以修改代碼,添加些判斷:
復制代碼 代碼如下:
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”等值的干擾。