スティックフォームの一部である必要があるチェックボックスに問題があります。これは、ユーザーがさまざまなページをナビゲートし、戻ったときにチェックボックスの選択を記憶できるように、セッションを介して記憶されます。
フォームの上部に入力した請求の詳細と同じ配達の詳細を表示する場合は、ユーザーがチェックボックスをクリックします。後のページで行うように、配達の詳細を請求の詳細と同じに割り当てる方法について心配する必要はありません。
注:Javascriptはこれに完全に対応しています。とにかく必要だとは思わないでください。ただし、注意が必要です:)。これは、すべての基準が満たされるまで自分自身に投稿し($flag == "ok"
)、ユーザーを次のページに送るスティッキーフォームの1つです。
ここで、関連するコードであると私が信じているものを提供します。
PHP(コードのこのセクションは関係ないかもしれませんが、私が見ることができるようにそれを含めて$_SESSION['sameasbilling']
、ユーザーを次のページに送る前に最終的なものを設定します(order-confirm.php
)
if ($flag == "ok"){
$sameasbilling = cleanString($_POST['sameasbilling']);
$_SESSION['sameasbilling'] = $sameasbilling;
if (!headers_sent()){
//send user to next page
header("Location: order-confirm.php");
}else{
echo "Not Sent";
}
}
HTML / PHP
<p>Same as billing address?
<input type="checkbox" id="sameasbilling" name="sameasbilling" value="1"
<?php
if (isset($_POST['sameasbilling'])) {
print ' checked="checked"';
$_SESSION['sameasbilling'] = "1";
} else {
$_SESSION['sameasbilling'] = "";
}
?> />
私が見る限り、最も重要なコードは、checked ='checked'を出力するかどうか、および'sameasbilling'セッション値をリセット/設定するかどうかを確認する上記のコードです。
PS私は何度も何度も繰り返してきたので、入力要素にあるIFステートメントはかなりだらしないですが、同じページにとどまってエラーを受け取ったときに選択を覚えていますが、次のページに戻って選択内容が記憶されておらず、実際にそれを実行するコードがないことは承知していますが、誰かがそれを実現する方法を提案してくれることを期待しています。