0

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

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

计算.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 中,这样当用户选择多个值时,它将把它存储在一个数组中。当用户在复选框中选择多个时,这就是棘手的部分。

我还添加了这个来测试多个选择的程序是否通过

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

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

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

print_r($_SESSION['receipt']);

它只显示一个值。不是所有的值都被检查。我从computation.php 复制了foreach 格式,正如我猜到的那样,它不起作用,因为它无法识别变量$procedure。

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

4

1 回答 1

0

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

$_SESSION['receipt'] = array();
foreach ($procedure as $pro) {
    $_SESSION['receipt'][] = $pro;
}
于 2013-01-10T16:09:18.827 回答