PHP開發(fā)中常用的三個(gè)表單驗(yàn)證函數(shù)使用小結(jié)
更新時(shí)間:2010年03月03日 13:18:20 作者:
PHP Web開發(fā)中常用的三個(gè)表單驗(yàn)證函數(shù),這些都是一些經(jīng)常用到的判斷函數(shù)。
ISSET();——適合于檢測(cè)是否存在這個(gè)參數(shù)。
定義和作用范圍:用于測(cè)試一個(gè)變量是否具有值(包括0,F(xiàn)ALSE,或者一個(gè)空字串,但不能是NULL),即:“http://localhost/?fo=”也是可以通過(guò)檢測(cè),因此不適用。但如果是“http://localhost/”參數(shù)中并不含fo參數(shù),就可以用isset來(lái)檢測(cè),此時(shí)isset($_GET['fo'])返回false。
不適用于:該函數(shù)不適合于驗(yàn)證html表單中的文本的有效方式。要檢查用戶輸入文本是否有效,可以用empty();
empty();——最好用的一個(gè)函數(shù)。
定義和作用范圍:用于檢查變量是否具有空值:包括:空字串,0,null 或false,即:“http://localhost/?fo=”或“http://localhost/?fo=0”時(shí),empty檢測(cè)出來(lái)的結(jié)果都是ture,不適用范圍:不適用于檢測(cè)可為0的參數(shù)。
is_numeric();——只適用于檢測(cè)數(shù)字,但假如參數(shù)名不存在,會(huì)出錯(cuò),因此不適合于第一層檢測(cè)。
綜合示例:
<?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為假,無(wú)變量設(shè)置';
}
echo '<h2>empty的情形:</h2>';
if(empty($_GET['fo'])){
echo '變量\'fo\'的empty為真,即空值或無(wú)效值';
}else{
echo '變量\'fo\'的empty為假,有值';
}
echo '<h2>is_numeric的情形:</h2>';
if(is_numeric($_GET['fo'])){ //在參數(shù)中無(wú)fo參數(shù)時(shí),則出錯(cuò)。
echo '變量\'fo\'的is_numeric為真,是數(shù)字';
}else{
echo '變量\'fo\'的is_numeric為假,不是數(shù)字';
}
echo "<h2>\$_GET['fo']=''的情形:</h2>";
if($_GET['fo']==''){ //在參數(shù)中無(wú)fo參數(shù)時(shí),則出錯(cuò)。
echo 'fo無(wú)值,空的字符串';
}elseif($_GET['fo']!=''){
echo 'fo有值,不為\'\'.';
}
echo "<h2>\$_GET['sex']='m'的情形:</h2>";
if($_GET['sex']=='m'){ //當(dāng)參數(shù)中無(wú)sex變量時(shí)就會(huì)出錯(cuò)。
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>無(wú)標(biāo)題文檔</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>
定義和作用范圍:用于測(cè)試一個(gè)變量是否具有值(包括0,F(xiàn)ALSE,或者一個(gè)空字串,但不能是NULL),即:“http://localhost/?fo=”也是可以通過(guò)檢測(cè),因此不適用。但如果是“http://localhost/”參數(shù)中并不含fo參數(shù),就可以用isset來(lái)檢測(cè),此時(shí)isset($_GET['fo'])返回false。
不適用于:該函數(shù)不適合于驗(yàn)證html表單中的文本的有效方式。要檢查用戶輸入文本是否有效,可以用empty();
empty();——最好用的一個(gè)函數(shù)。
定義和作用范圍:用于檢查變量是否具有空值:包括:空字串,0,null 或false,即:“http://localhost/?fo=”或“http://localhost/?fo=0”時(shí),empty檢測(cè)出來(lái)的結(jié)果都是ture,不適用范圍:不適用于檢測(cè)可為0的參數(shù)。
is_numeric();——只適用于檢測(cè)數(shù)字,但假如參數(shù)名不存在,會(huì)出錯(cuò),因此不適合于第一層檢測(cè)。
綜合示例:
復(fù)制代碼 代碼如下:
<?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為假,無(wú)變量設(shè)置';
}
echo '<h2>empty的情形:</h2>';
if(empty($_GET['fo'])){
echo '變量\'fo\'的empty為真,即空值或無(wú)效值';
}else{
echo '變量\'fo\'的empty為假,有值';
}
echo '<h2>is_numeric的情形:</h2>';
if(is_numeric($_GET['fo'])){ //在參數(shù)中無(wú)fo參數(shù)時(shí),則出錯(cuò)。
echo '變量\'fo\'的is_numeric為真,是數(shù)字';
}else{
echo '變量\'fo\'的is_numeric為假,不是數(shù)字';
}
echo "<h2>\$_GET['fo']=''的情形:</h2>";
if($_GET['fo']==''){ //在參數(shù)中無(wú)fo參數(shù)時(shí),則出錯(cuò)。
echo 'fo無(wú)值,空的字符串';
}elseif($_GET['fo']!=''){
echo 'fo有值,不為\'\'.';
}
echo "<h2>\$_GET['sex']='m'的情形:</h2>";
if($_GET['sex']=='m'){ //當(dāng)參數(shù)中無(wú)sex變量時(shí)就會(huì)出錯(cuò)。
echo '男的';
}elseif($_GET['sex']=='f'){
echo '女的';
}
?>
復(fù)制代碼 代碼如下:
<!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>無(wú)標(biāo)題文檔</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>
您可能感興趣的文章:
- php封裝的表單驗(yàn)證類完整實(shí)例
- php常用表單驗(yàn)證類用法實(shí)例
- php 表單驗(yàn)證實(shí)現(xiàn)代碼
- php用戶注冊(cè)頁(yè)面利用js進(jìn)行表單驗(yàn)證具體實(shí)例
- 基于PHP+Ajax實(shí)現(xiàn)表單驗(yàn)證的詳解
- php下常用表單驗(yàn)證的正則表達(dá)式
- PHP表單驗(yàn)證內(nèi)容是否為空的實(shí)現(xiàn)代碼
- PHP Yii框架之表單驗(yàn)證規(guī)則大全
- ThinkPHP框架表單驗(yàn)證操作方法
- PHP實(shí)現(xiàn)的用戶注冊(cè)表單驗(yàn)證功能簡(jiǎn)單示例
- php實(shí)現(xiàn)的表單驗(yàn)證類完整示例
相關(guān)文章
php使用GD庫(kù)創(chuàng)建圖片縮略圖的方法
這篇文章主要介紹了php使用GD庫(kù)創(chuàng)建圖片縮略圖的方法,涉及php使用GD庫(kù)操作圖片的相關(guān)技巧,需要的朋友可以參考下2015-06-06PHP實(shí)現(xiàn)查詢手機(jī)歸屬地的方法詳解
最近通過(guò)在網(wǎng)上面的學(xué)習(xí),完成了 PHP 實(shí)現(xiàn)手機(jī)歸屬地查詢的功能。所以下面這篇文章主要給大家介紹了利用PHP實(shí)現(xiàn)查詢手機(jī)歸屬地的方法,文中給出了詳細(xì)的代碼示例,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-04-04學(xué)習(xí)thinkphp5.0驗(yàn)證類使用方法
這篇文章主要介紹了thinkphp5.0驗(yàn)證類的簡(jiǎn)單有效的使用方法,一起學(xué)習(xí)下。2017-11-11PHP四種排序算法實(shí)現(xiàn)及效率分析【冒泡排序,插入排序,選擇排序和快速排序】
這篇文章主要介紹了PHP四種排序算法實(shí)現(xiàn)及效率分析,結(jié)合具體實(shí)例形式分析了php冒泡排序,插入排序,選擇排序和快速排序的具體定義、用法及算法復(fù)雜度分析,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2018-04-04修改php.ini不生效問(wèn)題解決方法(上傳大于8M的文件)
上傳大于8M的文件需要修改php的配置才可以生效,搜索好多的參考資料,結(jié)果修改還是沒(méi)有生效,經(jīng)過(guò)一番折騰終于找到了解決方法,下面與大家分享了2013-06-06PHP使用http_build_query()構(gòu)造URL字符串的方法
這篇文章主要介紹了PHP使用http_build_query()構(gòu)造URL字符串的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了http_build_query函數(shù)的功能,使用技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-04-04PHP實(shí)現(xiàn)的簡(jiǎn)單適配器模式示例
這篇文章主要介紹了PHP實(shí)現(xiàn)的簡(jiǎn)單適配器模式,結(jié)合具體實(shí)例形式分析了php適配器模式的實(shí)現(xiàn)技巧與調(diào)用方法,需要的朋友可以參考下2017-06-06