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看起来很适合我。在我上次尝试删除引号时,我会将您的答案标记为正确答案