php - 使用隐藏字段将表单字段标签传递给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']
它只是工作。但问题是:这是好的做法吗?
解决方案
安全性:
如上所述,这不是您的问题所示的好习惯,您需要检查您的标签,因为任何人都可以修改您的字段并可能破坏您邮件的邮件正文。
耗时:
您可能希望这样做以获得时间,但以安全的方式执行此操作需要更多数据验证,并且您将最终编写更多代码(并多次编写标签内容)。
推荐阅读
- archlinux - Deoplete 不适用于 ArchLimux 中的 neovim
- imagemagick - 可以防止 ImageMagick 覆盖现有图像吗?
- ios - 使 UIScrollView 适合内容
- javascript - Flutter:在本机(android | IOS)中执行 JavaScript 库,而不是在 webView 中
- batch-file - 批量多选菜单
- mysql - MySQL 表“pivot”而不创建表/视图:唯一列值作为标题
- lua - 尝试将字符串与数字进行比较 - 计算机技术
- javascript - 无法将组件呈现到页面
- c - 数组 - 位数
- javascript - 默认选择第一个单选按钮