2010-12-21 50 views
2

,而不是檢查的同時從形成一個我所有的POST變量是有什麼辦法可以運行一個檢查,以ATLEAST驗證它們不是空的像

if(!isset(ALL $_POST)){ 
echo "one of your fields is not completed."; 
} 
+0

呀:)的確如此。 – 2010-12-21 13:13:34

回答

8

您可以通過

$required_fields = array("name", "address", "phone", "email"); 
foreach ($require_fields as $field) { 
    if (!strlen($_POST[$field])) { 
     echo "$field cannot be empty"; 
    } 
} 
1

沒有,因爲你的程序如何知道哪些應該存在?

但是,如果您有一個預期的字段列表,您可以輕鬆編寫一個函數來檢查。我把它叫做array_keys_exist,因爲它完全一樣的東西array_key_exists除了有多個鍵:

function array_keys_exist($keys, $array) { 
    foreach ($keys as $key) { 
     if (!array_key_exists($key, $array)) return false; 
    } 
    return true; 
} 

$expectedFields = array('name', 'email'); 

$success = array_keys_exist($expectedFields, $_POST); 
+1

不知道爲什麼沒有人投這個答案。謝謝! – 2016-02-16 03:37:42

0

不能像完成創建必填字段,循環數組你在想什麼(因爲PHP無法知道應該有什麼值)。

但你可以這樣說:

<?php 
    $POSTvaluesToCheck = array('write', 'here', 'all', 'the', 'values', 'that', 'are', 'mandatory', 'to', 'exist'); 

    foreach($POSTvaluesToCheck as $key) { 
    if(!isset($_POST[$key]) { 
     echo $key . ' not set correctly!'; 
    } 
    } 
?>