我开发了一个购物车,当用户在整个结账过程中选择选项时,该购物车会将订单总金额作为隐藏变量提交到页面。在最后一页,用户输入他/她的信用卡信息,我要求用户检查使用条款框。如果用户未选中该框,则会显示一条错误消息以及其下方的最后一个结帐页面。
不幸的是,如果我使用include(page.php)来显示结帐页面,则订单金额为0.00美元,因为它不包括我在页面中传递的订单总数。有没有办法让该变量的值显示在页面上?或者是否有更好的方法来显示错误消息,而不是使用回显消息,然后包括显示它下面的页面?我需要能够指出错误并且仍然在页面上显示订单总数。
谢谢!
答案 0 :(得分:2)
不建议通过用户提交的数据传递这样一个重要的变量;这样做可能会导致用户支付的费用低于他们应支付的费用。
更好的方法是将此值存储在session内,即
session_start();
// update the total
$_SESSION['total'] = 123;
然后,在结帐页面:
session_start();
echo "Total: ", $_SESSION['total'];
会话通过会话cookie延续,包括会话标识符;在每次请求时,cookie都会与请求一起发送,以便系统可以在光盘(或其他存储介质)上找到实际数据。
请注意,在将任何输出发送到浏览器之前,必须先运行。