我正在做一個調查網站。我只想知道是否真的有必要通過使用isset
和!empty
驗證每個POST數據到數據庫中。我有大約30列,我覺得它是多餘的。在php中驗證一堆表單數據 - 是否有必要?
有沒有比這更清潔的方法?
編輯:
如果我有可選字段?我該如何解決這個問題?
我正在做一個調查網站。我只想知道是否真的有必要通過使用isset
和!empty
驗證每個POST數據到數據庫中。我有大約30列,我覺得它是多餘的。在php中驗證一堆表單數據 - 是否有必要?
有沒有比這更清潔的方法?
編輯:
如果我有可選字段?我該如何解決這個問題?
你可以做到這一點這樣的方式:
PHP 5.5:
if(!empty(array_filter($_POST)))
{
//there are non-empty fields in $_POST
}
PHP < 5.5:
$filtered = array_filter($_POST);
if(!empty($filtered))
{
//there are non-empty fields in $_POST
}
這種差異是因爲PHP 5.5 empty()
之前無法接受非 - 變量(例如表達式)
編輯:如果你有一些可選字段,那麼你就可以解決這個問題,例如,具有強制性的字段列表:
$array = ['one'=>36, 'two'=>null, 'three'=>'data', 'four'=>0];
$mandatory = ['one', 'three'];
$data = array_intersect_key($array, array_flip($mandatory));
if(!empty($data))
{
//all mandatory fields are not empty
}
沒有也不會'[NULL,NULL,NULL]'是不是'空()' –