PHP检查所有变量是否为空

时间:2013-09-02 18:27:41

标签: php html forms variables

我正在从表单向php脚本提交大量数据,我想要一种有效的方法来检查是否所有数据都已正确提交。

我的代码

<?php
$Name = $_POST['Name'];
$ID = $_POST['ID'];
$Submit = $_POST['submit'];
$Reset = $_POST['reset'];
$Topic_1 = $_POST['1'];
$Topic_2 = $_POST['2'];
$Topic_3 = $_POST['3'];
$Topic_4 = $_POST['4'];
$Topic_5 = $_POST['5'];
$Topic_6 = $_POST['6'];
$Topic_7 = $_POST['7'];
$Topic_8 = $_POST['8'];
$Topic_9 = $_POST['9'];
$Topic_10 = $_POST['10'];
$Topic_11 = $_POST['11'];
$Topic_12 = $_POST['12'];
$Topic_13 = $_POST['13'];
$Topic_14 = $_POST['14'];
$Topic_15 = $_POST['15'];

3 个答案:

答案 0 :(得分:5)

$fields_names = array_merge(array(('Name','ID','submit')) , range(1,15)); /// instead of manually setting the numbered variables , used range function / @Fred-ii-

foreach($fields_names as $key)
{
 if(empty($_POST[$key]) && $_POST[$key] != 0) // Making sure it's not 0 / @deceze
 {
  $error = true;
  echo $key . ' is not set';
 }
}

if(!$error)
{
  //Anything is set.
}

<强>注意 我不确定检查值是否不是empty就足够了。 考虑添加更多验证规则。

答案 1 :(得分:1)

使用foreach循环:

if (!empty($_POST)) {
    foreach ($_POST as $value) {
        if (isset($value)) {
            # variable set
        }
    }
}

答案 2 :(得分:0)

只需使用

foreach($_POST)
{
   //test
}

如果你还需要数组键,请查看array_keys的功能。 您将获得每个键的数组。

应该这样做:

$array_is_empty = false
foreach (array_key($_POST) as $x){
    if(empty($_POST[$x]))
    $array_is_empty = true
}

抱歉没时间测试

问候 马丁