如何获取php post方法的textbox数组值

时间:2015-05-06 15:59:03

标签: php

我有一个包含以下代码的html文件: -

<html>
<head>
<script type="text/javascript">
function addTextArea(){
    var div = document.getElementById('div_quotes');
    div.innerHTML += "<textarea name='new_quote[]' />";
    div.innerHTML += "\n<br />";
}
</script>
</head>
<body>
<form method="post" action="1.php">
<input type="text" name="text_new_author" /><br />
<div id="div_quotes"></div>
<input type="button" value="Add Text Area" onClick="addTextArea();">
<input type="submit" name="submitted">
</form>
</body>
</html>

我想将textarea值存储在PHP数组中。我使用以下代码,此代码将仅存储第一个textarea值。不存储额外的textarea。

1.PHP

if(isset($_POST['submitted']))
{               
foreach ($_POST['new_quote'] as $values ) 
{
echo $values;
}
exit();
}

在此代码中,我只获得了第一个Textarea值。

如果我添加3 textarea并提交。我想要以下输出:

$values1 = First Textarea value 
$values2 = Second Textarea value 
$values3 = Third Textarea value 

2 个答案:

答案 0 :(得分:2)

由于您使用的是正常变量,这就是您遇到问题的原因。解决方案是 -

$i =1;
foreach ($_POST['uploaded_files'] as $key=>$value ) 
   {
    $values.$i = mysql_real_escape_string($value);
    echo $values.$i;
    $i++;
}

或者您可以直接使用它: -

foreach ($_POST['uploaded_files'] as $value ) 
       {
        echo $value;
    }

注意: -

第二个更优选。

答案 1 :(得分:1)

这是一种有效的textarea格式吗? (从您关闭的副本中,您将其定义为<textarea name="" />)当您将其定义为:

时会发生什么
div.innerHTML += "<textarea name='new_quote[]'></textarea>";

另外,请尝试在代码中转义[],如下所示:

div.innerHTML += "<textarea name='new_quote\\[\\]'></textarea>";

我记得有一段时间使用查询,我必须这样做才能让它起作用,可能是也可能不是你的解决方案,但值得一试。