立即检查所有$ _POST变量

时间:2010-12-21 04:25:40

标签: php

而不是一次检查一个表单中的所有发布变量是否有任何方法可以运行一个检查以至少验证它们不是空的

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

3 个答案:

答案 0 :(得分:9)

您可以创建必填字段数组并循环显示

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

答案 1 :(得分: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);

答案 2 :(得分: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!';
    }
  }
?>