Php 邮寄多维数组

Php 邮寄多维数组,php,post,multidimensional-array,Php,Post,Multidimensional Array,我使用以下邮件发送多维数组: <form action="fixtures.php" method="POST"> <input type="hidden" name="day" value="<?= $day ?>"> <input type="hidden" name="month" value="<?= $month ?>"> <input type="hidden" name="year" val

我使用以下邮件发送多维数组:

<form action="fixtures.php" method="POST">

    <input type="hidden" name="day" value="<?= $day ?>">
    <input type="hidden" name="month" value="<?= $month ?>">
    <input type="hidden" name="year" value="<?= $year ?>">
    <input type="hidden" name="league" value="<?= $league ?>">
    <input type="hidden" name="addFixtures" value="1">

    <?php

    for($i = 0; $i < count($fixtures); $i++){

         $team_a_name = $fixtures[$i]['team-a-name'];
         $team_b_name = $fixtures[$i]['team-b-name'];
         $fixtDate = $fixtures[$i]['Date'];

         echo "<input type='hidden' name=\"fixtures[$i]['team-a-name']\" value='$team_a_name'>";
         echo "<input type='hidden' name=\"fixtures[$i]['team-b-name']\" value='$team_b_name'>";
         echo "<input type='hidden' name=\"fixtures[$i]['date']\" value='$fixtDate'>";

    }

    ?>

    <input type="submit" value="Add Fixtures">

</form>
if(isset($_POST['addFixtures'])){

    print_r($_POST['fixtures'][0]);
    echo "<br><br>";
    print($_POST['fixtures'][0]['date']);

    exit;

}
if(isset($_POST['addFixtures']))
{
    foreach($_POST['fixtures'] as $key=>$value)
    {
      echo "<br><br>";
      print($value['date']);
    }
}
exit;
我得到这个输出:

数组(['team-a-name']=>team a['team-b-name']=>team b['date']=>5-4-2016)

注意:未定义索引:中的日期 /Applications/XAMPP/xamppfiles/htdocs/soccerdome/fixtures.php在线 三十三

如果我尝试访问“team-a-name”或“team-b-name”,则会出现相同的通知。 当
$\u POST['fixtures'][0]
上的
print\r
清楚地显示它们在数组中时,为什么我不能访问这些值呢

编辑

当打印出
$\u POST[]
时,我得到:

    Array
(
    [day] => 5
    [month] => 4
    [year] => 2016
    [league] => prem
    [addFixtures] => 1
    [fixtures] => Array
        (
            [0] => Array
                (
                    ['team-a-name'] => TEAM A
                    ['team-b-name'] => TEAM B
                    ['date'] => 5-4-2016
                )

            [1] => Array
                (
                    ['team-a-name'] => TEAM C
                    ['team-b-name'] => TEAM D
                    ['date'] => 5-4-2016
                )

            [2] => Array
                (
                    ['team-a-name'] => TEAM A
                    ['team-b-name'] => TEAM D
                    ['date'] => 12-4-2016
                )

            [3] => Array
                (
                    ['team-a-name'] => TEAM B
                    ['team-b-name'] => TEAM C
                    ['date'] => 12-4-2016
                )

            [4] => Array
                (
                    ['team-a-name'] => TEAM A
                    ['team-b-name'] => TEAM C
                    ['date'] => 19-4-2016
                )

            [5] => Array
                (
                    ['team-a-name'] => TEAM D
                    ['team-b-name'] => TEAM B
                    ['date'] => 19-4-2016
                )

        )

)
编辑2


出于某种原因,它现在正在工作!我不知道怎么做,只是刷新了页面多次,错误信息消失了,帖子里面的值被打印出来了

由于在
日期中没有任何特殊字符,因此最好不使用

 echo "<input type='hidden' name=\"fixtures[$i]['team-a-name']\" value='$team_a_name'>";
 echo "<input type='hidden' name=\"fixtures[$i]['team-b-name']\" value='$team_b_name'>";
 echo "<input type='hidden' name=\"fixtures[$i][date]\" value='$fixtDate'>";
echo”“;
回声“;
回声“;
或将其更改为:

 echo "<input type='hidden' name=\"fixtures[$i][team-a-name]\" value='$team_a_name'>";
 echo "<input type='hidden' name=\"fixtures[$i][team-b-name]\" value='$team_b_name'>";
 echo "<input type='hidden' name=\"fixtures[$i][date]\" value='$fixtDate'>";
echo”“;
回声“;
回声“;

始终使用
var\u dump($\u POST)
print\r($\u POST)
检查实际发生的情况<代码>:)

由于日期中没有任何特殊字符,因此最好不要使用

 echo "<input type='hidden' name=\"fixtures[$i]['team-a-name']\" value='$team_a_name'>";
 echo "<input type='hidden' name=\"fixtures[$i]['team-b-name']\" value='$team_b_name'>";
 echo "<input type='hidden' name=\"fixtures[$i][date]\" value='$fixtDate'>";
echo”“;
回声“;
回声“;
或将其更改为:

 echo "<input type='hidden' name=\"fixtures[$i][team-a-name]\" value='$team_a_name'>";
 echo "<input type='hidden' name=\"fixtures[$i][team-b-name]\" value='$team_b_name'>";
 echo "<input type='hidden' name=\"fixtures[$i][date]\" value='$fixtDate'>";
echo”“;
回声“;
回声“;

始终使用
var\u dump($\u POST)
print\r($\u POST)
检查实际发生的情况<代码>:)

遍历post数据的最简单方法是使用
foreach
。您可以按以下方式执行此操作:

<form action="fixtures.php" method="POST">

    <input type="hidden" name="day" value="<?= $day ?>">
    <input type="hidden" name="month" value="<?= $month ?>">
    <input type="hidden" name="year" value="<?= $year ?>">
    <input type="hidden" name="league" value="<?= $league ?>">
    <input type="hidden" name="addFixtures" value="1">

    <?php

    for($i = 0; $i < count($fixtures); $i++){

         $team_a_name = $fixtures[$i]['team-a-name'];
         $team_b_name = $fixtures[$i]['team-b-name'];
         $fixtDate = $fixtures[$i]['Date'];

         echo "<input type='hidden' name=\"fixtures[$i]['team-a-name']\" value='$team_a_name'>";
         echo "<input type='hidden' name=\"fixtures[$i]['team-b-name']\" value='$team_b_name'>";
         echo "<input type='hidden' name=\"fixtures[$i]['date']\" value='$fixtDate'>";

    }

    ?>

    <input type="submit" value="Add Fixtures">

</form>
if(isset($_POST['addFixtures'])){

    print_r($_POST['fixtures'][0]);
    echo "<br><br>";
    print($_POST['fixtures'][0]['date']);

    exit;

}
if(isset($_POST['addFixtures']))
{
    foreach($_POST['fixtures'] as $key=>$value)
    {
      echo "<br><br>";
      print($value['date']);
    }
}
exit;
if(isset($\u POST['addFixtures']))
{
foreach($_POST['fixtures']作为$key=>$value)
{
回声“

”; 打印($value['date']); } } 出口
遍历post数据的最简单方法是使用
foreach
。您可以按以下方式执行此操作:

<form action="fixtures.php" method="POST">

    <input type="hidden" name="day" value="<?= $day ?>">
    <input type="hidden" name="month" value="<?= $month ?>">
    <input type="hidden" name="year" value="<?= $year ?>">
    <input type="hidden" name="league" value="<?= $league ?>">
    <input type="hidden" name="addFixtures" value="1">

    <?php

    for($i = 0; $i < count($fixtures); $i++){

         $team_a_name = $fixtures[$i]['team-a-name'];
         $team_b_name = $fixtures[$i]['team-b-name'];
         $fixtDate = $fixtures[$i]['Date'];

         echo "<input type='hidden' name=\"fixtures[$i]['team-a-name']\" value='$team_a_name'>";
         echo "<input type='hidden' name=\"fixtures[$i]['team-b-name']\" value='$team_b_name'>";
         echo "<input type='hidden' name=\"fixtures[$i]['date']\" value='$fixtDate'>";

    }

    ?>

    <input type="submit" value="Add Fixtures">

</form>
if(isset($_POST['addFixtures'])){

    print_r($_POST['fixtures'][0]);
    echo "<br><br>";
    print($_POST['fixtures'][0]['date']);

    exit;

}
if(isset($_POST['addFixtures']))
{
    foreach($_POST['fixtures'] as $key=>$value)
    {
      echo "<br><br>";
      print($value['date']);
    }
}
exit;
if(isset($\u POST['addFixtures']))
{
foreach($_POST['fixtures']作为$key=>$value)
{
回声“

”; 打印($value['date']); } } 出口

打印整个post数组。例如,打印($\u post)。然后您将获得指定的精确键和值,并将成功显示该数组。

打印整个post数组。例如,打印($\u post)。然后您将获得指定的精确键和值,并将成功显示数组。

这里您在日期中使用大写字母“D”
$fixtDate=$fixtures[$i]['date']
并在输入名称中使用“date”,尝试从表单输入中的关键字名称中删除单引号。将name=\“fixtures[$i]['team-a-name']\”更改为name=\“fixtures[$i][team-a-name]\”删除如下引号:-
echo“”
@GhulamAli那么
team-a-name
是如何工作的呢?@PraveenKumar我尝试过删除引号,同样的错误显示在这里,你在日期中使用大写字母“D”
$fixtDate=$fixtures[$I]['date'
并在输入名称中使用“date”,尝试从表单输入中的关键字名称中删除单引号。将name=\“fixtures[$i]['team-a-name']\”更改为name=\“fixtures[$i][team-a-name]\”删除如下引号:-
echo“”
@GhulamAli那么
team-a-name
是如何工作的呢?@PraveenKumar我尝试过删除引号,同样的错误也显示出来了我在使用
print\r($\u POST)
时将输出放在了我最初的问题中,但我尝试过这段代码,但没有成功work@sam看起来很适合我当我上次尝试删除引号时,我会将你的答案标记为正确答案。我在原始问题中使用
print\r($\u POST)
时已将输出放入,但我已尝试过此代码,但它没有work@sam看起来很适合我。在我上次尝试删除引号时,我会将您的答案标记为正确答案