【问题标题】:Passing variable/array through several pages in php通过php中的几个页面传递变量/数组
【发布时间】:2012-10-21 16:58:21
【问题描述】:

我的代码从多个 php 数组开始,其中 XML 数据以下列方式通过多个复选框传递($i 循环通过 XML 文档中的项目,值传递选定行中的特定数据):

$MoneyLine = $event->periods->period[0]->moneyline; //background info
$AwayMoneyLine[] = $MoneyLine->moneyline_visiting;  //background info
<input type='checkbox' name='AwayMoneyLine'   value='$Date[$i];$AwayRotNum[$i];$AwayParticipantName[$i];$ATotalPoints[$i]'/>  

在我的下一页上,我以以下方式传递变量,但它们没有在下一页上产生。:

if(isset($_POST['AwayMoneyLine'])){  
foreach($_POST['AwayMoneyLine'] as $value) {   
$d = explode(';',$value);    
echo '<input type="hidden" name="hidden[]" value="$d[0];$d[1];$d[2];$d[3];$d[4]">';  

这是我尝试获取下一页数据的方式。关于如何将变量传递到此页面的任何建议?在表单上(也在 $d 的 var_dump 上),我得到 $d[0]、$d[1] 等。非常感谢任何帮助!:

foreach($_POST['hidden'] as $value) {  
$f = explode(';',$value);  
echo 'Here is your following bet:';  
echo '<table cellpadding="0" cellspacing="0" border="1" bordercolor="#585858" width=100%>';  
     echo "<tr><td>$e[0]</td><td>$f[0]</td><td>$f[1]</td><td>$f[2]</td><td>$f[3]</td><td>$f[4]</td></tr>";  
}  
echo '</table>';

【问题讨论】:

  • 为什么不把它们放在 $_SESSION[] 中?
  • 如果您希望 php 将变量替换为在 sting 中分配给该变量的值,请使用双引号,例如回声“$myvar”
  • @case1352 我正在修复会话,但我想知道是否可以使用我的示例。不过,这绝对是我的下一个选择!
  • @Nemoden 我不确定我是否理解您对双引号的建议。你能说得更具体一点吗?

标签: php arrays variables foreach parameter-passing


【解决方案1】:
use $serial=serialize($array);
echo "<input type=\"hidden\" name=\"hiddenfield\" value=\"<?php echo$serial; ?>">"; 

【讨论】:

    【解决方案2】:

    将代码改为:

    echo "<input type=\"hidden\" name=\"hidden[]\" value=\"$d[0];$d[1];$d[2];$d[3];$d[4]\">";  
    

    $d[0];$d[1];$d[2];$d[3];$d[4] 将不会在您放入单引号时打印。您应该使用双引号和转义属性,例如 type=\"hidden\"、name=\"hidden[]\" 等,

    例如:

    <?php
    
    $name = 'foo';
    echo "$name";
    echo '<br />';
    echo '$name';
    ?>
    

    输出:

    foo
    $name
    

    【讨论】:

    • 感谢您的帮助,我真的需要更加小心我的单引号和双引号!
    猜你喜欢
    • 2012-04-25
    • 2014-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-01
    相关资源
    最近更新 更多