PHP開發(fā)中常用的三個表單驗證函數(shù)使用小結(jié)
更新時間:2010年03月03日 13:18:20 作者:
PHP Web開發(fā)中常用的三個表單驗證函數(shù),這些都是一些經(jīng)常用到的判斷函數(shù)。
ISSET();——適合于檢測是否存在這個參數(shù)。
定義和作用范圍:用于測試一個變量是否具有值(包括0,F(xiàn)ALSE,或者一個空字串,但不能是NULL),即:“http://localhost/?fo=”也是可以通過檢測,因此不適用。但如果是“http://localhost/”參數(shù)中并不含fo參數(shù),就可以用isset來檢測,此時isset($_GET['fo'])返回false。
不適用于:該函數(shù)不適合于驗證html表單中的文本的有效方式。要檢查用戶輸入文本是否有效,可以用empty();
empty();——最好用的一個函數(shù)。
定義和作用范圍:用于檢查變量是否具有空值:包括:空字串,0,null 或false,即:“http://localhost/?fo=”或“http://localhost/?fo=0”時,empty檢測出來的結(jié)果都是ture,不適用范圍:不適用于檢測可為0的參數(shù)。
is_numeric();——只適用于檢測數(shù)字,但假如參數(shù)名不存在,會出錯,因此不適合于第一層檢測。
綜合示例:
<?php
ini_set("display_errors",1);
//ini_set("error_reporting",E_ALL); print_r
error_reporting(E_ALL);
$a=NULL;
if(isset($a))echo '變量$a的isset為真';
echo '<h2>isset的情形:</h2>';
if(isset($_GET['fo'])){
echo '變量\'fo\'的isset為真,變量可用';
}else{
echo '變量\'fo\'的isset為假,無變量設(shè)置';
}
echo '<h2>empty的情形:</h2>';
if(empty($_GET['fo'])){
echo '變量\'fo\'的empty為真,即空值或無效值';
}else{
echo '變量\'fo\'的empty為假,有值';
}
echo '<h2>is_numeric的情形:</h2>';
if(is_numeric($_GET['fo'])){ //在參數(shù)中無fo參數(shù)時,則出錯。
echo '變量\'fo\'的is_numeric為真,是數(shù)字';
}else{
echo '變量\'fo\'的is_numeric為假,不是數(shù)字';
}
echo "<h2>\$_GET['fo']=''的情形:</h2>";
if($_GET['fo']==''){ //在參數(shù)中無fo參數(shù)時,則出錯。
echo 'fo無值,空的字符串';
}elseif($_GET['fo']!=''){
echo 'fo有值,不為\'\'.';
}
echo "<h2>\$_GET['sex']='m'的情形:</h2>";
if($_GET['sex']=='m'){ //當參數(shù)中無sex變量時就會出錯。
echo '男的';
}elseif($_GET['sex']=='f'){
echo '女的';
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>無標題文檔</title>
</head>
<body>
</body>
<p>
<a href="?fo=Jack">傳有效值</a> <a href="?fo=">傳空值</a> <a href="?fo=0">傳0值</a>
<br /><br />
<a href="?sex=m">性別:男</a> <a href="?sex=f">性別:女</a>
<br /><br />
<a href="/">清空</a>
<br /><br />
<input type="text" value="<?php echo $_GET['fo']!=''?$_GET['fo']:'';?>" size="155" /> </p>
</html>
定義和作用范圍:用于測試一個變量是否具有值(包括0,F(xiàn)ALSE,或者一個空字串,但不能是NULL),即:“http://localhost/?fo=”也是可以通過檢測,因此不適用。但如果是“http://localhost/”參數(shù)中并不含fo參數(shù),就可以用isset來檢測,此時isset($_GET['fo'])返回false。
不適用于:該函數(shù)不適合于驗證html表單中的文本的有效方式。要檢查用戶輸入文本是否有效,可以用empty();
empty();——最好用的一個函數(shù)。
定義和作用范圍:用于檢查變量是否具有空值:包括:空字串,0,null 或false,即:“http://localhost/?fo=”或“http://localhost/?fo=0”時,empty檢測出來的結(jié)果都是ture,不適用范圍:不適用于檢測可為0的參數(shù)。
is_numeric();——只適用于檢測數(shù)字,但假如參數(shù)名不存在,會出錯,因此不適合于第一層檢測。
綜合示例:
復制代碼 代碼如下:
<?php
ini_set("display_errors",1);
//ini_set("error_reporting",E_ALL); print_r
error_reporting(E_ALL);
$a=NULL;
if(isset($a))echo '變量$a的isset為真';
echo '<h2>isset的情形:</h2>';
if(isset($_GET['fo'])){
echo '變量\'fo\'的isset為真,變量可用';
}else{
echo '變量\'fo\'的isset為假,無變量設(shè)置';
}
echo '<h2>empty的情形:</h2>';
if(empty($_GET['fo'])){
echo '變量\'fo\'的empty為真,即空值或無效值';
}else{
echo '變量\'fo\'的empty為假,有值';
}
echo '<h2>is_numeric的情形:</h2>';
if(is_numeric($_GET['fo'])){ //在參數(shù)中無fo參數(shù)時,則出錯。
echo '變量\'fo\'的is_numeric為真,是數(shù)字';
}else{
echo '變量\'fo\'的is_numeric為假,不是數(shù)字';
}
echo "<h2>\$_GET['fo']=''的情形:</h2>";
if($_GET['fo']==''){ //在參數(shù)中無fo參數(shù)時,則出錯。
echo 'fo無值,空的字符串';
}elseif($_GET['fo']!=''){
echo 'fo有值,不為\'\'.';
}
echo "<h2>\$_GET['sex']='m'的情形:</h2>";
if($_GET['sex']=='m'){ //當參數(shù)中無sex變量時就會出錯。
echo '男的';
}elseif($_GET['sex']=='f'){
echo '女的';
}
?>
復制代碼 代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>無標題文檔</title>
</head>
<body>
</body>
<p>
<a href="?fo=Jack">傳有效值</a> <a href="?fo=">傳空值</a> <a href="?fo=0">傳0值</a>
<br /><br />
<a href="?sex=m">性別:男</a> <a href="?sex=f">性別:女</a>
<br /><br />
<a href="/">清空</a>
<br /><br />
<input type="text" value="<?php echo $_GET['fo']!=''?$_GET['fo']:'';?>" size="155" /> </p>
</html>
相關(guān)文章
PHP定時任務(wù)獲取微信access_token的方法
這篇文章主要介紹了PHP定時任務(wù)獲取微信access_token的方法,涉及php基于curl動態(tài)獲取access_token及CentOS下crontab設(shè)置計劃任務(wù)的相關(guān)操作技巧,需要的朋友可以參考下2016-10-10
PHP+FLASH實現(xiàn)上傳文件進度條相關(guān)文件 下載
PHP+FLASH實現(xiàn)上傳文件進度條相關(guān)文件 下載...2007-07-07
php5.3/5.4/5.5/5.6/7常見新增特性匯總整理
這篇文章主要介紹了php5.3/5.4/5.5/5.6/7常見新增特性,整理總結(jié)了php5.3/5.4/5.5/5.6/7各種常見的新增特性,包括各種語法、關(guān)鍵字、函數(shù)、擴展等,需要的朋友可以參考下2020-02-02
PHP Class self 與 static 異同與使用詳解
這篇文章主要介紹了PHP中 Class self 與 static 有什么區(qū)別,都怎么用,需要的朋友們下面隨著小編來一起學習學習吧2021-09-09

