$ _POST变量名是变量,如何检索?

时间:2012-03-04 03:18:13

标签: php

我网站的用户可以生成自定义表单。所有字段都保存在具有唯一ID的数据库中。当有人访问表单时,字段'name'属性为字段* ID *,例如

<p>Your favorite band? <input type="text" name="field28"></p>
<p>Your Favorite color? <input type="text" name="field30"></p>

提交表单后,我使用php验证表单,但我不知道检索$ _POST [field28]的值(或该字段的任何数字)。

<?
while($field = $query_formfields->fetch(PDO::FETCH_ASSOC))
 {
 $id = $field[id];

 //this doesn't work!!
 $user_input = $_POST[field$id];

 //validation comes here
 }
?>

如果有人可以帮助我,那真的很感激!

4 个答案:

答案 0 :(得分:11)

添加一些引号:

$user_input = $_POST["field$id"];

答案 1 :(得分:5)

我建议利用PHP的表格数组语法:

<input type="text' name="field[28]" />

您可以使用$_GET['field'][28]

在php中访问此内容

答案 2 :(得分:3)

$user_input = $_POST['field'.$id];

答案 3 :(得分:2)

请记住,您在string名称的第一部分使用了input,因此请尝试以下操作:$user_input=$_POST['field'.$id];。 另外,我建议将它们调用array来检索所有数据:

<?php
    $user_inputs=array();
    while($field=$query_formfields->fetch(PDO::FETCH_ASSOC)) {
        $id=$field['id'];
        $user_inputs[]=$_POST['field'.$id];
    }
?>