0

I have developed a shopping cart that submits the order total amount as a hidden variable across pages as the user selects options throughout the checkout process. On the last page, where the user inputs his/her credit card information, I require that the user check a Terms of Use box. If the user does not select the box, an error message is displayed along with the last checkout page beneath it.

Unfortunately, if I use include(page.php) to display the checkout page, the order amount is $0.00 because it is not including the order total that I have been passing across pages. Is there a way to get the value of that variable to show up on the page? Or is there a better way to display the error message than to use echo for the message and then include to display the page beneath it? I need to be able to point out the error and still have the order total display on the page.

Thanks!

4

1 に答える 1

2

ユーザーが送信したデータを介してこのような重要な変数を渡すことはお勧めしません。これを行うと、ユーザーが支払うべき額よりも少なく支払う可能性があります。

より良いアプローチは、この値をセッション内に保存することです。つまり、

session_start();
// update the total
$_SESSION['total'] = 123;

次に、チェックアウト ページで:

session_start();
echo "Total: ", $_SESSION['total'];

セッションは、セッション識別子を含むセッション Cookie で永続化されます。要求ごとに、要求とともに Cookie が送信されるため、システムはディスク (または別の記憶媒体) 上の実際のデータを見つけることができます。

出力がブラウザに送信されるsession_start()に実行する必要があることに注意してください。

于 2013-09-03T02:43:42.000 に答える