0

在这个表单上,我有一些不应该被某些用户编辑的输入字段和选择框。

但是,无论如何我都需要插入那些无法插入的字段。

我正在考虑将这些值传递给隐藏字段(这应该在 js 中完成吗?);并改为使用这些隐藏字段提交表单。

这是一个好方法吗?请指教。

4

4 回答 4

2

您可以使用隐藏字段将数据传递到表单中,但请记住,如果有人计划恶作剧,他们可以使用 Firebug 等工具编辑值并提交它们,因此依赖隐藏字段可能会导致问题。

如果您想获得适当的安全性,则必须在服务器端做所有事情 - 检查客户端在提交表单时是否有权访问这些字段。如果他们这样做了,取他们提交的值;否则,请改用 PHP 代码中存储的默认值。

于 2012-07-11T17:16:33.663 回答
1

只需在表单中使用隐藏字段,如下所示:

<input type="hidden" name="id" value="00001" />

不需要js。

于 2012-07-11T17:13:59.260 回答
1

只需将它们放在隐藏字段中

echo $form->hiddenField($model,'property');
于 2012-07-11T17:54:07.987 回答
0

我会在复选框上禁用,并且可能在文本字段上使用只读。问题是你知道他们在提交时应该有什么价值。因此,在服务器端,您可以忽略它们并使用您选择的值。如果有人正在操纵发布请求,则忽略数据。

于 2012-07-11T17:23:28.197 回答