php:从表单元素中读取属性

时间:2010-11-23 13:18:49

标签: php html forms custom-attributes

是否可以从表单元素中读取属性?

我明白了:

<input class="number required" min="1250" max="999999999" id="insert_counter1" name="my_counter" value="" type="text">

提交后我可以访问该值。但有没有办法达到“min”或“max”等其他属性?

现在我有一个名为my_counter_min的隐藏只读输入字段,其中存储了“min”属性。我不知道这是否是一次工作,或者它实际上是唯一的方法。

溴。安德斯

根据以下答案更新:

感谢您提供良好的反馈意见。当我阅读答案时,有三个好的解决方案,有一些优点和缺点。

  • 将值存储在输入类型=隐藏中。容易做,但可以被篡改
  • 使用解析器。需要更多时间来编写代码,但原始值将通过新的Web请求获取。所以没有篡改
  • 在DB中存储值。如果表单与DB中的特定rcord相关,那么存储额外的值可以很好地进行,如果其他值必须进入和退出数据库,只需添加一个值,就不会花费大量的编码工作。 / LI>

我的问题有三个不同的答案。最快的答案标记正确,即使有超过这一个解决方案。

BR。安德斯

4 个答案:

答案 0 :(得分:4)

没有。只有名称和值才会到达服务器,因此您需要一种解决方法(如您所描述的那种)。

答案 1 :(得分:3)

  

我不知道这是不是一次又一次,或者实际上是唯一的方法。

这是唯一的好办法。表单元素的其他属性不会在请求中传输。

答案 2 :(得分:3)

它们不会被传输,但您可以使用an HTML parser加载页面并提取值。

最大的问题是,你为什么要那样做?如果你想使用min / max来确保提交的值在这个范围内,你应该在服务器端硬编码这些值,而不是依赖于以某种方式从客户端获取它们。

将该范围作为隐藏字段传递是没有意义的,因为它很容易被篡改。使用解析器拉取它们可确保它们不会被篡改,但会增加第二个请求的开销。

答案 3 :(得分:2)

有趣。我曾经遇到过同样的问题,并以与你相同的方式修复它。从来没有回头看过这个问题。

我能想到的一件事是将值存储在数据库中,因此您可以: 1.将它们用作输入变量。 2.随时访问它。

Ps:最初这是一个评论,但看到你接受替代品。