cart.php、checkout1.php、 、 の4 つのページがcheckout2.phpありcheckout3.phpます。それらの機能の概要は次のとおりです。
cart.php //display items and quantities in cart with option for coupon code
checkout1.php //input of user address
checkout2.php //order summary
checkout3.php //order placed into SQL
物は 経由$_SESSIONでカートに保管されますが、各ページ間で$_POST情報を次から次へと移動するために使用しています。私の懸念は、たとえば、ユーザーがwww.site.com/checkout2.phpアドレスバーから移動しただけで、空のページが表示されるためです (ただし、引き続きアクセスしてcheckout3.phpSQL スペースを無駄にすることができます)。index.phpカートが空の場合にリダイレクトする各ページで(たとえばcheckout2.php、空のカートのアドレスバーに入力すると、続行できるコードが表示されません)、コンテンツがある$_SESSION場合ではなく$_POST、ユーザーが物事を台無しにするのを防ぐ方法がわかりません。
のようなものを使用するかもしれないと思いisset()ましたが、(疑似コード) の行に沿って何かをしたいと思います:
//on checkout2.php
if (previouspage != "./checkout1.php") {
echo "There was an error.";
} else {
//display correct page
}
それらの線に沿って存在する$_SERVER['HTTP-REFERER']か何かがあることは知っていますが、すべてのブラウザーがこれをサポートしているわけではなく、参照ページの簡潔な場所を提供していないことを理解しています (たとえば、ユーザーがwww.site.comvs.から来たと言うでしょうwww.site.com/checkout1.php) 。