今天我在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=""
然后我将在其他代码中丢失一些数据(我使用表单将提交的数据发送到电子邮件)。如何解决这个问题?
答案 0 :(得分:1)
是的,有人可以更改提交给您代码的html。因此,您必须检查处理表单的代码中是否存在您想要的所有内容。许多初学者希望通过循环$ _POST或$ _GET来自动化。而且他们几乎总是会错过一些东西,或者最终得到的代码就像复杂,但更难阅读,而不仅仅是检查你想要的每个输入。
答案 1 :(得分:0)
循环遍历$ _GET数组并检查是否有任何变量是“”或以非必需的东西开头,然后只是出错。
答案 2 :(得分:0)
您应该始终在服务器端验证数据(即在PHP中)。
您应该在PHP中列出必填字段并在PHP中进行检查。
永远不要信任用户数据。