有没有一种方法可以将**type**HTML输入属性值传递到HTML/PHP表单中的$_POST数组



我们可以以某种方式将typeHTML输入属性值传递给$_POST数组,或者用PHP获取它吗?

我知道我可以创建一个隐藏字段,并基本上将实际输入的类型放入隐藏字段的值中,但这似乎有点像"重复";

我想创建一个Form,其中输入值被提交到$_POST。我可以检测该输入的类型,而无需将单个输入硬编码/映射到每个类型。

以这种方式,我可以检测字段类型并采取行动,而不需要创建";地图";它将我的自定义输入(按名称或ID(映射到某个类型,我已经用HTML形式声明了它。

在Form Submit中无法检测到输入的类型,这似乎是一个真正的缺点——或者(希望(我错过了什么?

我们可以以某种方式将类型HTML输入属性值传递给$_POST数组,或者用PHP获取它吗?

本身不是。

我知道我可以创建一个隐藏字段,并基本上将实际输入的类型放入隐藏字段的值中

这是一种方法。

在Form Submit 中无法检测输入类型似乎是一个真正的缺点

通常你知道你期望给定字段的数据类型,因为你不是一般性地处理它们,所以这很少是一个有用的功能。

也许(希望(我错过了什么?

否。

这是细分;

在PHP中通过$_GET访问的GET和在PHP中经由$_POST访问的POST都是传输方法,PUT和DELETE等也是传输方法。from it不管你使用什么方法,它只在客户端工作,只知道将其中的每一个东西映射到串行化的查询字符串中,或者至少读取它以进行串行化。

例如

<input type="text" id="firstname" name="fname">

它获取名称属性并转换为这个

?fname=ferret

看,它甚至没有涉及ID属性。当我们点击提交按钮时,表单将只运行每个输入的名称属性,并使用值生成LHS,并将用户输入作为RHS添加到值中。它不会做任何其他事情。

在PHP方面,我们询问$_GET隧道在请求或$_POST隧道中是否有任何查询字符串。如果有任何查询字符串,则每一个都强调单词字符串。将字符串分解为数组并将其提供给您。因此$POST[名称]。看起来像这个

$_POST = [
fname => 'ferret',
someothingelse => 'someothervalue']

所以你想做的是,或者至少要求做的是。。。让浏览器改变其BOM行为——这是我们无法真正理解的;让表单添加一些这样的东西。

?fname=ferret,text 
?fname=ferret-text
?fname=ferret/text 

默认情况下,表单不会这样做,除非您在提交前运行自定义函数更新每个查询,这就是我们所说的转义,3/100次您会错过

然后在PHP方面,你希望PHP自己弄清楚斜杠后的类型是这样的

$_POST = [
fname => 'ferret/text']

PHP本身不会做到这一点,除非你像Facebook一样让它自定义,然后运行它,或者至少制作某种低级别的库,但这也是事后诸葛亮。

如果你不想知道,XSS和注射就是这样发生的。

所以查询字符串标准是严格的,以使事物保持一个带有军国主义数据和串行化的字符串。

所以,是的,你们打算用隐藏字段来实现你们想要的是一种经过测试的方式。

相关内容

  • 没有找到相关文章

最新更新