-1

可能重复:
检查多个字符串是否为空

今天我在stackoverflow上得到了这个答案:

<input type="text" name="required[first_name]" />
<input type="text" name="required[last_name]" />
...

$required = $_POST['required'];
foreach ($required as $req) {
     $req = trim($req);
     if (empty($req))
     echo 'gotcha!';
 }

这没关系,但如果有人改变了怎么办

 name="required[first_name]"

  name=""

然后我将在进一步的代码中丢失一些数据(我使用表单将提交的数据发送到电子邮件)。如何解决这个问题?

4

3 回答 3

1

是的,有人可以更改提交给您的代码的 html。因此,您必须检查处理表单的代码中是否存在您想要的所有内容。许多初学者希望通过循环 $_POST 或 $_GET 来自动完成。而且他们几乎总是会遗漏一些东西,或者最终得到的代码与检查你想要的每个输入一样复杂,但更难阅读。

于 2012-06-08T20:17:08.293 回答
0

遍历 $_GET 数组并检查是否有任何变量为“”或以非必需的内容开头,然后就出错了。

于 2012-06-08T20:15:43.513 回答
0

您应该始终在服务器端验证数据(即在 PHP 中)。

您应该在 PHP 中列出必填字段并在 PHP 中检查它们。

永远不要相信用户数据。

于 2012-06-08T20:20:11.750 回答