Php质量/组值检查

Php质量/组值检查,php,Php,我正在构建一个表单(很有趣),很明显,这些表单会变得单调乏味,当我坐在这里编写验证函数时,我想知道 例如,假设我有3个字段*(姓名、姓氏、年龄)* 变量是 $fname = $_POST['name']; $lname = $POST['lname']; $age = $_POST['age']; 说我想检查一下有没有空的,身份证 if(empty($fname) || empty($lname) || empty($age)){ //do something } 有没有办法让这更容易管理?

我正在构建一个表单(很有趣),很明显,这些表单会变得单调乏味,当我坐在这里编写验证函数时,我想知道

例如,假设我有3个字段*(姓名、姓氏、年龄)*

变量是

$fname = $_POST['name'];
$lname = $POST['lname'];
$age = $_POST['age'];
说我想检查一下有没有空的,身份证

if(empty($fname) || empty($lname) || empty($age)){
//do something
}
有没有办法让这更容易管理?因为说现在,表单中没有3个字段,我有100个…它很快变得很难控制

那么有没有一种方法可以批量检查呢?

如果(空($\u POST)){..}否则{…}
会给出结果,这取决于,如果设置了多个值;或者根本没有设置值。有点像真/假

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

如果要检查“至少有一个字段不为空”,则

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

如果(空($\u POST)){..}否则{…}
将根据设置了多个值而给出结果;或者根本没有设置值。有点像真/假

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

如果要检查“至少有一个字段不为空”,则


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

如果要全部检查,请按照以下步骤进行操作

if(!empty($_POST)){

   foreach($_POST as $key => $val){
      if(empty($val)){
          // An empty field exists. Your action here.
      }
   }
}
尽管值得注意的是,如果页面上有未勾选的复选框,则空的$u POST条目不会被发送回,它根本不存在

因此,您需要使用if语句选中复选框

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

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

如果你想全部检查它们,那么按照下面的方法做一些事情

if(!empty($_POST)){

   foreach($_POST as $key => $val){
      if(empty($val)){
          // An empty field exists. Your action here.
      }
   }
}
尽管值得注意的是,如果页面上有未勾选的复选框,则空的$u POST条目不会被发送回,它根本不存在

因此,您需要使用if语句选中复选框

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

if(!isset($_POST['agree'])){
   // Checkbox not ticked.
}
编辑: 您可以通过以下方式获得$\u POST数组:

foreach ($_POST as $key => $name) {
            $required_fields[] = "$key=$name";
        }
编辑: 您可以通过以下方式获得$\u POST数组:

foreach ($_POST as $key => $name) {
            $required_fields[] = "$key=$name";
        }
检查每个post键

如果(isset($\u POST)和计数($\u POST)!=0){ foreach($\发布为$key=>$val){ if(空($key)){ /*做点什么*/ } } } 检查每个post键

如果(isset($\u POST)和计数($\u POST)!=0){ foreach($\发布为$key=>$val){ if(空($key)){ /*做点什么*/ } } } 顺便说一句,如果你愿意的话

$fname = $_POST['name']
而且字段的格式与您得到的格式不同

注意:未定义的索引

更好地利用

$fname = !empty($_POST['name']) ? $_POST['name'] : '';
顺便说一句,如果你愿意的话

$fname = $_POST['name']
而且字段的格式与您得到的格式不同

注意:未定义的索引

更好地利用

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

您是如何将表单设计为具有
100个字段的
为什么不将其设置为向导???您是如何将表单设计为具有
100个字段的
为什么不将其设置为向导???这只会检查是否未发送任何字段@somdow想检查是否至少有一个是空的。参见他最初的if语句中的| |。编辑:没关系,刚刚看到你的编辑。:)这将仅检查是否未发送任何字段@somdow想检查是否至少有一个是空的。参见他最初的if语句中的| |。编辑:没关系,刚刚看到你的编辑。:)这是否也适用于下拉列表?还是只有复选框?谢谢这也适用于下拉列表吗?还是只有复选框?谢谢谢谢,我在考虑类似的事情,但是,再一次说,我有100个形式变量(随机数),然后我仍然需要手动将变量输入数组。懒惰我知道,但我认为代码越少越好?lol thanksThanks我在考虑类似的事情,但是,再次说我有100个变量作为形式(随机数),然后我仍然必须手动将变量输入数组。懒惰我知道,但我认为代码越少越好?哈哈,谢谢