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

如何在php中从一个输入字段中获取多个值?,php,html,arrays,Php,Html,Arrays,我有一个表单,它包含可拖动的元素,这些元素被放入一个隐藏的输入字段中。我有一个php脚本,它获取值并将它们添加到数组中,然后将数组添加到数据库中。然后我回显数组的内容和数组长度。至少这是它应该做的。但是,array_push函数的作用更像array_pop,它返回添加到数组中的最后一个元素,并将计数保持在1。我如何循环查找每个输入值?抱歉,如果问题标题不明确 HTML <input type='hidden' name='findCat[]' id='findCat' value='" +

我有一个表单,它包含可拖动的元素,这些元素被放入一个隐藏的输入字段中。我有一个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;
}
if($\u POST['submit']==TRUE){
$findCat=$_POST['findCat'];
$emerg_数组=数组($findCat);
$arrayLength=计数($emerg_数组);
对于($i=0;$i<$arrayLength;$i++){
echo$emerg_数组[$i]。
; } echo$arrayLength; }
输出

排列

一,


无论数组中有多少个元素。

您可以通过在名称中添加
[]
来轻松创建具有任何表单元素的数组

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


$\u POST['array']
将包含12345678。

以下是一个简单的示例:

<?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
函数是否会损坏阵列?

但我只有一个输入字段。每次用户拖放可拖动的元素时,该值都会动态更改。@Robert那么,每次拖放时都要重新提交表单吗?不,发生的是用户从页面的一侧拖动元素,然后将其拖放到页面另一侧的表单中。他/她可以对多个元素执行此操作,但一旦删除它们,它们就应该具有相同的名称属性。例如,如果它是这样的:页面左侧:Robert Jon James页面右侧:
用户可以拖动每个名称并将其放到页面右侧,每个名称将被放置到输入字段中并使用name属性。我希望这是有意义的。@Robert,$\u POST['findCat']已经是一个数组了。因此,您在代码中所做的是添加一个嵌套数组,这样$emerg_数组的计数将始终为1,因为它包含一个嵌套数组。打印$emerg_数组以确认我所说的内容。如果要使用$emerg_数组,请将其设置为$u POST['findCat']@Robert,没问题。很高兴我能帮上忙。
我有一个表单,它包含可拖动的元素,这些元素被拖放到一个隐藏的输入字段中。
然后需要一些javascript将新的“拖放”值与任何现有值连接起来。如果您有一些please.JS
$(“#场景表”).append(“+cat.toUpperCase()”),请显示您的javascript代码+“
Javascript部分工作正常。但是,我没有提到并将添加的是,我正在使用PHP将数组的内容添加到数据库中。这表明每次删除一个输入字段时,您都会添加一个新的输入字段,而不是“仅添加一个输入字段”。将名称更改为findCat[]它应该像Devon展示的那样工作。它应该工作,但不幸的是没有。我在php中不断遇到一个未定义的索引错误。我认为这可能是问题所在,所以我去掉了它,但这不是问题所在。