我试图保存 $_SESSION 数据以保持页面刷新时检查的值,我写了一些代码,但我错过了一段。
会话代码:
session_start();
if(isset($_POST['submit'])) {
//user posted variable
$checks = $_POST['personalization_result'];
if(isset($_POST['personalization_result'])) {
$_SESSION['value'] = $_POST['personalization_result']; }
else {
$_SESSION['value'] = '';
}
}
表格代码:
<form action="" method="post" id="question-form">
<input type="hidden" name="submit" value="1">
<li>
<input name="personalization_result[memory_0]" type="hidden" class="<?php echo $_SESSION['value']['memory_0'] ?>" value="0" />
<input name="personalization_result[memory_0]" type="checkbox" value="1" id="personalization_result_memory_0" />
</li>
<li>
<input name="personalization_result[memory_1]" type="hidden" class="<?php echo $_SESSION['value']['memory_1'] ?>" value="0" />
<input name="personalization_result[memory_1]" type="checkbox" value="1" id="personalization_result_memory_1" />
</li>
//There are many checkboxes, this is just two for demo purposes
<input class="submit" type="submit" value="Send" />
</form>
对于测试,我在隐藏输入中回显$_SESSION['value']['memory_0']
&& $_SESSION['value']['memory_1']
,它们正确返回,如果输入被选中,则类为 1,如果未选中,则类为 0。
我不确定如果它 = 1 则回显的最佳方式checked="checked"
我的尝试:
<input name="personalization_result[memory_0]" type="hidden" class="<?php echo $_SESSION['value']['memory_0'] ?>" value="0" />
<input name="personalization_result[memory_0]" type="checkbox" value="1" id="personalization_result_memory_0" <?php if($_SESSION['value']['memory_0'] = 1) {echo 'checked="checked"';} ?> />
这会返回一个错误“不能将标量值用作数组”,我不喜欢这样写。
所以有了所有给定的信息,如果我的 value = 1 return ,最好的写法是什么checked="checked"
?