ユーザーがボックスをチェックした場合、チェックボックスの値をセッションに保存します。その場合は、ページをリロードした後にボックスをチェックする必要があります。ユーザーがボックスのチェックを外すと、セッションが破棄され、ボックスがチェックされていない必要があります。デフォルトはチェックされていません。チェックボックスをセッション内のフォームから保存する
私は別のコードを試しましたが、何も動作しません。私の例では、たとえユーザーがそれをチックにしたとしてもチェクボックスは常にチェックされています。
ありがとうございました!
マイPHP:
session_start();
if(!empty($_POST['debug_on'])) {
$_SESSION['debug'] = true;
} else {
$_SESSION['debug'] = false;
}
マイ形式:
<form class="form-inline" name="form" method="post" action="">
<div class="form-group">
<label class="sr-only" for="inlineFormInputGroup">Email</label>
<div class="input-group mb-2 mr-sm-2 mb-sm-0">
<div class="input-group-addon">@</div>
<input type="email" name="email" class="form-control" id="inlineFormInputGroup" placeholder="[email protected]" value="<?= $email ?>" required >
</div>
</div>
<div id="debugbox">
<label class="custom-control custom-checkbox mb-2 mr-sm-2 mb-sm-0">
<input type="checkbox" class="custom-control-input" name="debug_on" id="debugbox" value="1" <?php if($_SESSION['debug'] = true); echo "checked='checked'"; ?>>
<span class="custom-control-indicator"></span>
<span class="custom-control-description">Output debug</span>
</label>
</div>
<button type="submit" class="btn btn-outline-success">Submit</button>
<br>
<br>
</form>
リロードした後、チェックボックスがオフになっています:( – Ronny
@Ronnyフォームが投稿されていないときにセッションが削除されたためです。 – teeyo
@ロニー私は自分の答えを編集しました – teeyo