首页 > 解决方案 > 使用隐藏字段将表单字段标签传递给php是否很好?

问题描述

我试图找到一种明确的方法来使用来自 Web 表单的数据输入来构建电子邮件消息,而不必将每个字段名称映射到其相关标签。我试图在这里更好地解释:

<label for="project">Project name</label>
<input name="project" id="project" type="text"  value="" />

当我收到$_POST数据时,我必须手动执行以下操作:

$msg .= 'Project name:' . $_POST['project']

因此,如果我有 30 个字段,我将不得不手写所有 30 个标签来构建最终的邮件消息。所以我想也许,我可以利用隐藏字段来传递标签,如下所示:

<label for="project">Project name</label>
<input name="project[]" id="project" type="text"  value="" />
<input name="project[label]" type="hidden" value="Project name">

所以我可以做这样的事情:

$msg .= $_POST['project'][0] . ': ' . $_POST['project_name']['label']

它只是工作。但问题是:这是好的做法吗?

标签: phphtmlforms

解决方案


安全性:
如上所述,这不是您的问题所示的好习惯,您需要检查您的标签,因为任何人都可以修改您的字段并可能破坏您邮件的邮件正文。

耗时:
您可能希望这样做以获得时间,但以安全的方式执行此操作需要更多数据验证,并且您将最终编写更多代码(并多次编写标签内容)。


推荐阅读