防止表单空提交

时间:2012-06-08 20:09:08

标签: php

  

可能重复:
  Check if multiple strings are empty

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

<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=""

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

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

循环遍历$ _GET数组并检查是否有任何变量是“”或以非必需的东西开头,然后只是出错。

答案 2 :(得分:0)

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

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

永远不要信任用户数据。