확인란을 선택했는지 확인하고 사용자가 계정 설정을 확인할 때 확인 표시를 표시하려고합니다. 나는 PHP를 사용하여이 문제를 어떻게 해결할 수 있는지 알고 싶기 때문에 사용자가 계정 설정을 볼 때마다 체크 표시가 표시됩니까?PHP 및 MySQL에 체크 박스 문제가 발생했습니다.
다음은 HTML입니다.
<input type="checkbox" name="privacy_policy" id="privacy_policy" value="yes" />
확인란을 선택했는지 확인하고 사용자가 계정 설정을 확인할 때 확인 표시를 표시하려고합니다. 나는 PHP를 사용하여이 문제를 어떻게 해결할 수 있는지 알고 싶기 때문에 사용자가 계정 설정을 볼 때마다 체크 표시가 표시됩니까?PHP 및 MySQL에 체크 박스 문제가 발생했습니다.
다음은 HTML입니다.
<input type="checkbox" name="privacy_policy" id="privacy_policy" value="yes" />
확인란을 선택하도록 어떤 속성을 설정 했습니까?
<input type="checkbox" name="privacy_policy" id="privacy_policy" value="yes" checked="checked" />
편집 : 나는 어떻게 할 것인지, 다음과 같이, (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"'; ?>/>
내가 완전히 확실하지 않다 무엇 질문 입니다. 확인란을 선택할지 여부는 PHP 알고있는 경우에, 당신은 $somevar
에 해당하는 경우 검사중인에있는 확인란의 기본을 만들 것입니다
echo '<input type="checkbox" name="privacy_policy" id="privacy_policy" value="yes"';
if ($somevar) echo ' checked="checked" ';
echo ' />';
같은 것을 할 수 있습니다. $someBoolean
부울이 이전 여부 (예를 들어 데이터베이스에서 검색 한 값) 확인 여부 (참/거짓) 값을 보유
<?php
$checked = $someBoolean ? ' checked="checked"' : '';
?>
<input type="checkbox" name="privacy_policy" id="privacy_policy" value="yes"<?php echo $checked; ?> />
. 다른
<input type="checkbox" name="privacy_policy" id="privacy_policy" value="yes" checked="checked" />
:
true
경우가 발생합니다
<input type="checkbox" name="privacy_policy" id="privacy_policy" value="yes" />
난 당신이 사용자의 설정이 약간의 설명을 데이터베이스에 저장되어 있다고 가정합니다. 이 가정하면 MYSQL 다음 작업을 수행 할 수 있습니다 :
$query = "
SELECT privacy_policy FROM user_settings WHERE user_id = $user_id
";
$result = mysql_query($query);
$user_settings = mysql_fetch_assoc($result);
이 정보가 테이블이라고 user_settings에서 "PRIVACY_POLICY"라는 열을 저장되어 있다고 가정하고 이미 $의 USER_ID를 알고. 개인 정보 보호 정책 설정은 이제 $user_settings['privacy_policy']
에 있습니다. 나는 또한 그것이 사실이라고 당신이 체크하기를 원한다는 것을 의미하고, false는 그것이 체크를 원하지 않는다는 것을 의미하는 부울이라고 가정합니다.
변수를 변경 한 후와 같이 사용자 입력에서 설정을 가져 오는 경우도 있습니다. 이 경우 $ _POST 또는 $ _GET에서 변수를 찾으십시오. $ _POST [ 'privacy_policy'] 대신 해당 변수를 계속 사용하십시오.
는 이제 다음을 수행하십시오
경우 ($ user_settings [ 'PRIVACY_POLICY']) $ = "확인 = '확인'을"확인; else $ checked = ''; 는 "에코 ';
이$ 경우 user_sesstings가.'PRIVACY_POLICY '], $ 설정하고 체크 박스의 나머지와 함께 에코됩니다 확인 그렇지 않으면, 체크 박스 속성없이 에코 될 것이며 그렇게되지 않은 사실 일 것입니다
사용자가 선택을 취소 할 때까지 항상 확인한 다음 표시 할 때만 확인란을 표시하고 싶습니다. – BeepU
사용자가 사이트에있을 때 항상 표시하고 싶습니까? 이 경우 특정 사용자의 취향에 맞게 저장해야합니다. –