0

maintransaction.php、computer.php、computepayment.php の 3 つのファイルがあります。

メイントランザクションでは、チェックボックスにあるすべての手順と価格を一覧表示します。送信されると、computer.php にリダイレクトされ、チェックされたプロシージャが計算されます。

計算.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

手順と価格を取得するために、それを2番目のファイルに追加しました。foreach にあるため、ユーザーが複数の値を選択すると、それが配列に格納されます。ユーザーがチェックボックスで複数を選択した場合、それは難しい部分です。

また、これを追加して、複数の選択された手順が合格したことをテストしました

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

それは正常に動作します。すべての手順は、印刷された場所でチェックされます。

別のボタンをクリックすると、お支払い金額を入力する computepayment.php にリダイレクトされます。これをファイルに追加しました:

print_r($_SESSION['receipt']);

1 つの値のみが表示されます。チェックされたすべての値ではありません。私が推測したように、計算.phpからforeach形式をコピーしました.変数$procedureを認識しないため、機能しません。

2 番目のファイルと同じ値を 3 番目のファイルに出力するにはどうすればよいですか?

4

1 に答える 1

0

$_SESSION['receipt'] にセッション値を設定する必要があります。あなたが行った方法では、反復ごとにオーバーライドしただけで、以下のコードはそれを配列に追加します。

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