如何从php中的一个输入字段获取多个值?

时间:2014-06-02 13:07:29

标签: php html arrays

我有一个具有可拖动元素的表单,这些元素被放入隐藏的输入字段中。我有一个PHP脚本获取值并将它们添加到一个数组,然后将其添加到数据库中。然后我回显数组的内容和数组长度。至少那是它应该做的事情。但是,array_push函数更像是array_pop,因为它返回了添加到数组中的最后一个元素并将计数保持为1.我将如何循环并查找每个输入值?对不起,如果问题标题含糊不清。

HTML

<input type='hidden' name='findCat[]' id='findCat' value='" +cat.toUpperCase()+ "' />

PHP

if($_POST['submit'] == TRUE){
    $findCat = $_POST['findCat'];
    $emerg_array = array($findCat);
    $arrayLength = count($emerg_array);

    for($i = 0; $i < $arrayLength; $i++){
        echo $emerg_array[$i] .'<br>';
    }
    echo $arrayLength;
}

输出

阵列

1

无论数组中有多少元素。

2 个答案:

答案 0 :(得分:1)

通过在名称中添加[],您可以轻松创建包含任何表单元素的数组。

<input type='hidden' name='array[]' value='1234'>
<input type='hidden' name='array[]' value='5678'>

$_POST['array']将包含1234,5678。

答案 1 :(得分:0)

这是一个有效的简化示例:

<?php
if (!isset($_POST['sub'])) {
    echo "<html><body>
    <form method='post'>
        <input type='hidden' name='findCat[]' value='1'>
        <input type='hidden' name='findCat[]' value='2'>
        <input type='hidden' name='findCat[]' value='3'>
        <input type='submit' name='sub' value='submit'>
    </form>
    </body></html>";
} else {
    $findCat = $_POST['findCat'];
    var_dump($findCat); // displays array(3) { [0]=> string(1) "1" [1]=> string(1) "2" [2]=> string(1) "3" } 
}
?>

可能是你的secure函数正在破坏数组吗?