Php Mass / group检查值

时间:2013-03-30 09:17:25

标签: php

我正在构建一个表单(有趣),显然那些可能会变得乏味,因为我坐在这里编写验证函数,我想知道......

比如说我有3个字段* (姓名,姓氏,年龄) *

变量是

$fname = $_POST['name'];
$lname = $POST['lname'];
$age = $_POST['age'];

并说我想检查空箱,id

if(empty($fname) || empty($lname) || empty($age)){
//do something
}

有没有办法让这个更易于管理?因为现在说,而不是形式中的3个字段,我有100个...它变得非常不守规矩

那么有没有办法检查大众?

5 个答案:

答案 0 :(得分:2)

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

编辑: 你可以通过

获得$ _POST数组
foreach ($_POST as $key => $name) {
            $required_fields[] = "$key=$name";
        }

答案 1 :(得分:1)

if(empty($_POST)){..}else{...}将为您提供结果,具体取决于如果设置了多个值;或者根本没有设置任何值。类似于True / False。

但是,您必须为“提交按钮”本身包含value='',否则,它将始终为您提供真实结果。因为$_POST全局,所以也会检查提交按钮的值。 或者,您可以从查询中扣除一个值。您可以选择按var_dump($_POST)

调试值

如果你想检查,“至少一个字段不为空”,那么,

if(count($_POST) !=0){
   echo ' at least one value is set';}
else {echo 'no value is set';}

将检查,如果至少有一个项目提交。

答案 2 :(得分:1)

如果你想全部检查它们,可以按照以下方式行事。

if(!empty($_POST)){

   foreach($_POST as $key => $val){
      if(empty($val)){
          // An empty field exists. Your action here.
      }
   }
}

虽然值得注意的是,如果你的页面上有复选框没有勾选,那么空的$ _POST条目将不会被发回,它根本就不存在。

因此,您需要使用if语句检查复选框。

例如,复选框名称为“同意”

if(!isset($_POST['agree'])){
   // Checkbox not ticked.
}

答案 3 :(得分:0)

检查每个帖子密钥

if(isset($_POST) && count($_POST)!=0){
  foreach($_POST as $key=>$val){
     if(empty($key)){
        /* do something */
     }
  }
}

答案 4 :(得分:0)

顺便说一句。如果你这样做

$fname = $_POST['name']

并且该字段不是您将获得的格式

  

注意:未定义的索引......

更好地使用

$fname = !empty($_POST['name']) ? $_POST['name'] : '';