HTMLの<input>タグで値を次の画面に渡したいとき、
こんなふうに書くと思いますが、

<input type="checkbox" name="aaa"   size='10' maxlength='12'>


ここで↓のようにやってしまうと

<input type="checkbox" name="aaa"   size='10' maxlength='12' disabled="disabled">

とすると、値が渡りません。当たり前といえば当たり前ですが。


こういうことがしたいとき。

1)入力画面でチェックボックスを表示。
2)確認画面「これでいいですか?」チェックボックスを表示(1で入れた状態を反映)
3)完了メッセージ画面「登録しました。」

という遷移で、2の画面では「チェック状態を保持したチェックボックスと選択肢を表示しつつも入力不可」な表示にしたい。2の画面で「次へ」ボタンがクリックされたら、3の画面にチェックボックスの状態を伝えたい。
そこで、単純に、disabledを使用すると画面上入力は不可になってイイ感じですが、値渡しもできなくなります。

解決法として、
まず、1→2に来た時、2の画面処理の前に、1から来た値を退避しておきます。
2の確認用変更不可チェックボックスは「disabled="disabled"」設定でOKです。これで変更不可に見えます。
で、退避した値はhiddenにしておき、3に渡るようにします。

1)$_POST['x'] = on が画面2に渡る。
2)画面2で、
$x = $_POST['x']; // 退避
<input type="hidden" name="x2" value="<?php echo $x; ?>">
として、
3)画面3で、$_POST['x2'] を受け取ります。

以上メモ。