在$ _POST变量中传递额外数据

时间:2011-08-25 14:25:07

标签: php forms wordpress

我需要传递一个id以及一个表单字段,例如

<input name="__field_name" value="1234" />

这只将名称和值作为键传递=&gt;价值对。我需要保留名称(由用户动态输入)和值,以供以后使用,但我还需要传递一个ID以及此var。

我怎么能干净利落地做到这一点?我正在考虑将它放在名称中并进行正则表达式以将其分开,例如

__field_name__ID  

虽然这看起来很混乱......

要考虑的要点:

  • 有一些由我不会使用的CMS(wordpress)生成的帖子变量
  • 名称必须与原始格式一起保留

3 个答案:

答案 0 :(得分:5)

为什么不将数据作为数组提交?

使用PHP提供的工具,而不是调用你的字段__field_name__id或使用它们:调用输入字段field_name[id],当表单发回服务器时,PHP的$_POST数组将有一个名为field_name的子数组,其中包含您提到的key =&gt;值映射。

如果您想要绑定两个这样的字段,请使用以下内容:

<input type="text" name="myFields[id]" />
<input type="text" name="myFields[name]" />

在回发时,PHP会为您提供$_POST['myFields']['id']$_POST['myFields']['name']

答案 1 :(得分:0)

您可以添加一个包含输入字段名称值的隐藏字段。

<input type="text" name="field_1" />
<input type="hidden" name="field_1_name"/>

答案 2 :(得分:0)

您需要添加一个隐藏的表单字段,其中包含第一个字段的ID。您可以将其命名为field1_ID或其他名称。

<input type="text" name="first_field" value="As_Entered_By_User"/>
<input type="hidden" name="first_field_id" value="id_first_field"/>

或者如果您熟悉Javascript,可以使用带有单个表单字段的javascript将其作为属性发布。

<input type="text" name="first_field" id="first_field_id" value="as_enteredBy_user"/>
<script>var id_to_post=document.form1.first_field.id;</script>

这里form1是包含输入框的表单的名称。