传递具有多个值的会话

时间:2013-01-10 16:06:42

标签: php mysql

我有3个文件,maintransaction.php,computation.php和computepayment.php

在maintransaction中,它列出了复选框中的所有程序和价格。一旦提交,重定向到calculate.php,它计算检查过程。

computation.php

foreach($ercharge as $charge) {
        $p = explode(",", $charge);
        $price[] = $p[0];            //stores the price of the $charge in $price array
        $procedure[] = $p[1];     // stores the procedure of the $charge in $procedure array

我将其添加到我的第二个文件中以获取程序和价格。它在foreach中,这样当用户选择MULTIPLE值时,它会将它存储在一个数组中。当用户在复选框中选择多个时,这就是棘手的部分。

我还添加了这个以测试mutliple选择了传递过程的程序

foreach ($procedure as $pro) {
$_SESSION['receipt'] = $pro;
echo $_SESSION['receipt'];
}

它工作正常。检查打印出来的所有程序。

点击另一个按钮后,重定向到computepayment.php,您可以在其中输入要支付的金额。 我把它添加到文件中:

print_r($_SESSION['receipt']);

它只显示一个值。并非检查所有值。我从calculate.php复制了foreach格式,正如我猜想的那样,它无法工作,因为它无法识别变量$ procedure。

如何将第二个文件中的相同值输出到第三个文件?

1 个答案:

答案 0 :(得分:0)

您需要在$ _SESSION ['receipt']中设置会话值。你做的方式,你只是在每次迭代时覆盖,下面的代码将它添加到数组。

$_SESSION['receipt'] = array();
foreach ($procedure as $pro) {
    $_SESSION['receipt'][] = $pro;
}