[英]check if input-hidden-field is empty OR not
我的表單的一部分是輸入隱藏字段:
<input type="hidden" name="dump" id="dump" value="">
在這個隱藏字段中保存一個數組,現在我想問你哪個是檢查這個數組是否為空或數組是否包含值的最佳方法?
這是我做的:
if($_POST["dump"] == "") {
$arr = json_decode($_POST["dump"], true);
if(count($arr) == 0) {
echo "no value´s";
$url = "";
header("Location:".$url);
exit();
}
}
你怎么看呢? 有沒有其他的,也許更安全的方式來做到這一點?
問候!!
考慮使用PHP empty()函數
PHP.net報告:
如果var存在且具有非空的非零值,則返回FALSE。 否則返回TRUE。
以下內容被認為是空的:
“”(空字符串)
0(0為整數)
0.0(0作為浮點數)
“0”(0作為字符串)
空值
假
array()(一個空數組)
是$ var; (聲明的變量,但沒有值)
它會檢查很多var可以為空的情況。
所以你可能想要使用
if(empty($var)){
// Yes, really empty
} else {
// Not empty at all
}
$dump = $_POST['dump'];
if (!empty($dump)) {
$arr = json_decode($dump, true);
if (!empty($arr)) {
// data is correct
}//add else
}//add else
如果$arr
是一個至少包含一個元素的數組,則empty()
將只為false(在本例中)。 如果json_decode
失敗(將返回“NULL”)也是如此。 您永遠不能信任用戶輸入,因此應始終檢查其正確性!
好的,這工作正常,可以嗎? :
if(empty($_POST["dump"])) {
$arr = json_decode($_POST["dump"], true);
if(count($arr) == 0) {
$url = "http://test80948.test-account.com/tweetmilliono/test.php";
header("Location:".$url);
exit();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.