Вы хотите сказать, какой атрибут вы устанавливаете, чтобы флажок был установлен?
<input type="checkbox" name="privacy_policy" id="privacy_policy" value="yes" checked="checked" />
EDIT: Что я хотел бы сделать, это привязать код к событию установите флажок (используя библиотеку как JQuery), как следующее:
$(document).ready(function() {
$("#privacy_policy").click(function() {
// block the checkbox
$(this).attr("disabled", "disabled");
var checked = 0;
if($(this).is(":checked")) {
checked = 1;
}
// send the checked state to PHP script
// if the update has been successful, the script echos a '1'
$.post('account.php', { checked: checked, function(resp) {
// update has been successful
if(resp == 1) {
// unblock the checkbox, the current
// checked state reflects the stored value
$(this).removeAttr("disabled");
} else {
alert("settings could not be updated");
}
});
});
});
Это будет обрабатывать в режиме реального времени, манипулируя настройки этого конкретного параметра при каждом щелчке по флажку. (Я думаю, это то, что вы имели в виду, так или иначе). Вам просто нужно действовать на переменную $_POST['checked']
внутри.
Чтобы установить начальное состояние флажка на основе сохраненного значения (в первый раз, страница загружается), просто используйте короткие тег, например:
<?php
$isChecked = $_SESSION['someSetting']; // 1 or 0, for example
?>
<input type="checkbox" name="privacy_policy" id="privacy_policy" value="yes" <?php if($isChecked) echo 'checked="checked"'; ?>/>
Я хочу показать галочку только тогда, когда пользователь проверяет, а затем отображает ее все время, пока пользователь не уберет ее. – BeepU
Вы всегда хотели бы, чтобы она отображалась, когда пользователь находится на вашем сайте, то есть контрольная отметка для конкретного предпочтения? В этом случае вам нужен способ сохранить его для предпочтения конкретного пользователя. –