动态文本字段值到PHP数组中

时间:2012-08-02 14:09:03

标签: php arrays dynamic field

我有一个动态的网络表单,在用户告诉他有多少他想要的,我想要做的是将这些文本字段的信息转换成下一个表单后创建文本,我已经读过一个问题。
pretty much what I want to do;
但到目前为止我没有运气;

for ($i = 1; $i <= $quantity; $i++) {
echo "<input type='text' class='text' name='classEmpleado[]' id='empleado$i' />";}

当我尝试检索它们时,我使用它;

$empleado[] = $_POST['classEmpleado[]'];
$i = 0;    
for ($i = 1; $i <= $quantity; $i++) {
echo "$empleado[$i]<BR><BR>";
}

但我收到错误Undefined index:classEmpleado [] 我做错了什么?

ANSWERED! 对于任何寻找同样事物的人,请看Sherbrow的回应, 你只需编辑循环到

$empleado[] = $_POST['classEmpleado[]'];
$i = 0;    
for ($i = 0; $i < $quantity; $i++) {
echo "$empleado[$i]<BR><BR>";
}

3 个答案:

答案 0 :(得分:0)

尝试$empleado[] = $_POST['classEmpleado'];

当您将name[]放在字段名的末尾时,它将作为$_POST中的数组传递给PHP,其密钥为name,如下所示:$_POST['name'] = array(1,2,3,4);

答案 1 :(得分:0)

如果先前未声明$empleado或仅为空,则表示您正在寻找

$empleado = $_POST['classEmpleado']

但如果$empleado是一个数组,并且包含数据,您可能希望将所有内容合并到一个数组中

$empleado = array_merge($empleado, $_POST['classEmpleado']);

无论您选择哪种方式,都应该检查以确定$_POST['classEmpleado']已定义并且是一个数组。类似的东西:

if(isset($_POST['classEmpleado']) && is_array($_POST['classEmpleado'])) {
    /* ... */
}

答案 2 :(得分:-1)

此声明错误($empleado[] = $_POST['classEmpleado[]']

如果要访问名为classEmpleado []的输入字段$ _POST,则必须这样做:

for($i=0; $i<count($_POST['classEmpleado']); $i++)
{
    echo $_POST['classEmpleado'][$i] . '<br /><br />';
}