【问题标题】:Passing Array Value through form PHP通过表单 PHP 传递数组值
【发布时间】:2012-10-20 12:21:00
【问题描述】:

我有一个包含以下代码的表单:

<?php    
echo '<form action="nba-agent-process-bet.php" method="post">';  
echo '<table cellpadding="0" cellspacing="0" border="1" bordercolor="#585858" width=100%>';      
echo '<tr>';  
echo '<th>Date</th>';  
echo '<th>#</th>';  
echo '<th>Team</th>';  
echo '<th>Money</th>';  
echo '<th>Spread</th>';  
echo '<th>Total</th>';  
echo '</tr>';       
for($i=0 ; $i<10;){  
$AwayTeamSpread = " ";  
$HomeTeamSpread = " ";  
foreach ($xml->Game as $Game) {   
$Date[] = $Game->Date; $AwayTeam[] = $Game->AwayTeam; $HomeTeam[] = $Game->HomeTeam; $AwayRotation[] = $Game->AwayRotation;  
$HomeRotation[] = $Game->HomeRotation; $Total[] = $Game->Total; $OverPrice[] = $Game->OverPrice;  
$UnderPrice[] = $Game->UnderPrice; $Line[] = $Game->Line; $AwayTeamPrice[] = $Game->AwayTeamPrice;  
$HomeTeamPrice[] = $Game->HomeTeamPrice; $AwayTeamMoneyLine[] = $Game->AwayTeamMoneyLine; $HomeTeamMoneyLine[] = $Game->HomeTeamMoneyLine;  
}  
foreach ($xml2->events->event as $event) {  
$Spread = $event->periods->period[0]->spread;  
$TotalPoints = $event->periods->period[0]->total;   
$AHomeRotNum = $event->participants->participant[1];   
$AVisitingRotNum = $event->participants->participant[0];  
$AHomeParticipantName = $event->participants->participant[1];  
$AVisitingParticipantName = $event->participants->participant[0];  
$MoneyLine = $event->periods->period[0]->moneyline;   
$AwayLine[] = $Spread->spread_visiting;   
$HomeLine[] = $Spread->spread_home;  
$UnderAdjust[] = $TotalPoints->under_adjust;   
$OverAdjust[] = $TotalPoints->over_adjust;  
$ATotalPoints[] = $TotalPoints->total_points;  
$VisitingRotNum[] = $AVisitingRotNum->rotnum;  
$HomeRotNum[] = $AHomeRotNum->rotnum;  
$VisitingParticipantName[] = $AVisitingParticipantName->participant_name;  
$HomeParticipantName[] = $AHomeParticipantName->participant_name;  
$AwayMoneyLine[] = $MoneyLine->moneyline_visiting;   
$HomeMoneyLine[] = $MoneyLine->moneyline_home;  
$AwaySpreadAdjust[] = $Spread->spread_adjust_visiting;   
$HomeSpreadAdjust[] = $Spread->spread_adjust_home;  
}     
echo '<tr>';  
echo "<td>$Date[$i]</td><td><table><tr><td>$VisitingRotNum[$i]</td></tr><tr><td>$HomeRotNum[$i]</td></tr></table></td><td><table><tr><td>$VisitingParticipantName[$i]</td></tr><tr><td>$HomeParticipantName[$i]</td></tr></table></td><td><table><tr><td><input type='checkbox' name='AwayMoneyLine' value='$AwayMoneyLine[$i];$HomeParticipantName[$i]'/> $AwayMoneyLine[$i]</td></tr><tr><td><input type='checkbox' name='HomeMoneyLine' value='$HomeMoneyLine[$i];$AwayParticipantName[$i]'/>$HomeMoneyLine[$i]</td></tr></table></td><td><table><tr><td><input type='checkbox' name='$AwaySpreadAdjust[$i]' value='$AwayLine[$i]'/> $AwayLine[$i] ($AwaySpreadAdjust[$i])</td></tr><tr><td><input type='checkbox' name='$HomeSpreadAdjust[$i]' value='$HomeLine[$i]'/> $HomeLine[$i] ($HomeSpreadAdjust[$i])</td></tr></table></td><td><table><tr><td><input type='checkbox' name='AwayTotalPoints' value='$TotalPoints[$i]'/> Over $ATotalPoints[$i]</td></tr><tr><td><input type='checkbox' name='HomeTotalPoints' value='$ATotalPoints[$i]'/> Under $ATotalPoints[$i]</td></tr></table></td>";  
echo '</tr>';  
$i++;  
}  
echo '<tr>';  
echo '<td colspan="3"><input type="submit" name="send" value="Submit"></td><td colspan="3"><input type="button" name="Clear" value="Clear" /></td>';  
echo '</tr>';  
echo ' </table>';  
?>  

基本上,for 循环贯穿我的 xml 项目。 foreach 循环将值分配给数组。数组打印在表格中,循环中的每个 $i 代表表格中的一行。当一个复选框被选中并提交时,我想通过复选框中的值传递所选 $i 的多个数组。我在表单操作中有以下代码:

例如,我尝试传递 $HomeMoneyLine 并回显该值,但没有运气。任何帮助将不胜感激!

<?php session_start(); ?>  
<?php  
if($_POST['AwayMoneyLine'] == $_POST['$AwayMoneyLine']){  
     $bet_type="Moneyline";  
     $HomeTeam=$_POST['$HomeMoneyLine[$i]'];  
     echo $HomeTeam;  
}   
else {   
header("Location: http://www.mainurl.com/");   
}   
?>  

【问题讨论】:

  • 一般提示:如果您要谈论一个特定的表单元素,如果您没有将该表单元素埋在一个长长的中间 6 英里处,将会很有帮助文本字符串。
  • $HomeMoneyLine[$i] 是一个数组,对吗?尝试打印 $HomeMoneyLine[0];
  • @TomAngeloClemente 是的,它是一个数组。没有打印,当我使用 var_dump 时为 NULL
  • $var = $_POST['HomeMoneyLine'];打印 $var 然后看看会发生什么
  • @TomAngeloClemente 感谢您的帮助,$var 确实显示了 HomeMoneyLine。但是,我试图在复选框中传递多个值,例如:&lt;td&gt;&lt;input type='checkbox' name='AwayMoneyLine' value='$AwayMoneyLine[$i];$HomeParticipantName[$i];$HomeMoneyLine[$i]'/&gt; $AwayMoneyLine[$i]&lt;/td&gt;

标签: php arrays forms variables post


【解决方案1】:
if($_POST['AwayMoneyLine'] == $_POST['$AwayMoneyLine']){  
                                     ^--            ^--

这些可能不是您要查找的引号,除非您使用文字 $Aw 等...作为表单中的字段名称。

【讨论】:

    猜你喜欢
    • 2014-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-31
    • 2013-08-28
    • 1970-01-01
    相关资源
    最近更新 更多