无法从FORM中POST多数组来处理PHP



当我使用二维数组创建表单输入,但无法在过程中读取POST 时

<form name="FormAdd" id="FormAdd" role="form" method="post"  
                action="?page=".$page."&language=".$language."&action=adddata" enctype="multipart/form-data">
                <input type="text" name="am[0][0]" value="23">
                <button type="submit" class="btn btn-primary"><i class="fa fa-floppy-o" aria-hidden="true"></i> ".SAVE."</button>
            </form>

print_r($am);

结果阵列([0]=>(

结果应该是阵列([0]=>阵列([0]=>23((

如果我正确理解您的问题,那么您需要为字段am发布多个输入值。

下表将公布am字段的多个值。

<form name="FormAdd" id="FormAdd" role="form" method="post"  
action="?query=WHAT_EVER_YOUR_QUERY_STRING" enctype="multipart/form-data">
    <input type="text" name="am[]" value="23">
    <input type="text" name="am[]" value="24">
    <input type="text" name="am[]" value="25">
    <input type="text" name="am[]" value="26">
    <input type="text" name="am[]" value="27">
    <button type="submit" class="btn btn-primary"><i class="fa fa-floppy-o" aria-hidden="true"></i> ".SAVE."</button>
</form>
<?php
if ($_POST['am']) {
    print_r($_POST['am']);
}

输出

Array
(
    [0] => 23
    [1] => 24
    [2] => 25
    [3] => 26
    [4] => 27
)
  1. 注意HTML形式的字段名称中的[]符号
  2. 请注意,在访问PHP文件中的POST值时不需要[]

类似地,如果您使用类似于的形式

    <input type="text" name="am[0][]" value="23">
    <input type="text" name="am[0][]" value="24">
    <input type="text" name="am[0][]" value="25">
    <input type="text" name="am[0][]" value="26">
    <input type="text" name="am[0][]" value="27">

输出为

Array
(
    [0] => Array
        (
            [0] => 23
            [1] => 24
            [2] => 25
            [3] => 26
            [4] => 27
        )
)

问题是你在PHP中读错了,你应该使用:

print_r($_POST['am']);

而不是

print_r($am);

这应该很好。

活生生的例子。

最新更新