php:从表单元素读取属性

php:从表单元素读取属性,php,html,forms,custom-attributes,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”属性。我不知道这是一个一轮的工作,还是这

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

我明白了:

<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存储值。如果表单与数据库中的特定rcord相关,那么存储额外的值会有很好的意义,并且如果其他值必须进出数据库allready(只需添加一个值),则不会花费大量的编码工作
我的问题有三个不同的答案。最快的答案标记为正确,即使有不止一个解决方案

比尔。安德斯

我不知道这是一个一轮的工作,还是这实际上是唯一的方法


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

否。只有名称和值会到达服务器,因此您需要解决方法(如您所述)。

它们不会传输,但您可以加载页面并提取值

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


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

有趣。我曾经有过同样的问题,并且用和你一样的方法解决了它。从来没有真正回顾过这个问题

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


Ps:最初这是一个评论,但考虑到你正在接受其他选择。

我也想到了这一点,但在大多数情况下,这并不是一个好方法IMO@Pekka你怎么会这么想?添加隐藏字段意味着添加混乱,它们很容易被篡改。推还是拉是一种好方法取决于OP需要这些值的用途。如果他/她使用它们来确保值在这些边界内,则拉动它们会更好。当然,另一个问题是为什么它们首先必须来自UI。最好的方法是从一开始就在服务器端进行所有必要的表单验证,既不推也不拉。是的,但是请求获取原始页面?我不知道。我想这取决于用例。@Pekka如果我必须在附加请求或篡改数据之间进行选择,我会选择附加请求。数据完整性比性能更重要。看看我的更新。好吧,这是一个有效的选择+1.