我网站的用户可以生成自定义表单。所有字段都保存在具有唯一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
}
?>
如果有人可以帮助我,那真的很感激!
答案 0 :(得分:11)
添加一些引号:
$user_input = $_POST["field$id"];
答案 1 :(得分:5)
我建议利用PHP的表格数组语法:
<input type="text' name="field[28]" />
您可以使用$_GET['field'][28]
答案 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];
}
?>