반응형
성별 저장 예
<form action="save.php?id=<?=$id?>" method="post">
<p><label><input name="gender" type="radio" value="male" <?php if($gender=='male'){?>checked="checked"<? }?> /> Male</label></p>
<p><label><input name="gender" type="radio" value="female" <?php if($gender=='female'){?>checked="checked"<? }?> /> Female</label></p>
</form>
다음은 값을 업데이트하는 예입니다.
if ($_REQUEST['gender']) {
mysql_query("UPDATE users SET gender='$gender' WHERE id='" . $id . "'") or die(mysql_error());
}
성별을 클릭하면 값이 db에 자동으로 저장되도록 만드는 방법. 알려주세요.
해결 방법
당신을 더 예쁜 길로 인도하는 것 :
// $_POST is way cooler than $_REQUEST
if (isset($_POST['gender']) && !empty($_POST['gender'])) {
// sql injection sucks
$gender = my_real_escape_string($_POST['gender']);
// cast it as an integer, sql inject impossible
$id = intval($_GET['id']);
if($id) {
// spit out the boolean INSERT result for use by client side JS
if(mysql_query("UPDATE users SET gender=$gender WHERE id=$id")) {
echo '1';
exit;
} else {
echo '0';
exit;
}
}
}
<script>
var id = <?=$id?>;
// when the DOM is ready
$(document).ready(function() {
// 'click' because IE likes to choke on 'change'
$('input[name=gender]').click(function(e) {
// prevent normal, boring, tedious form submission
e.preventDefault();
// send it to the server out-of-band with XHR
$.post('save.php?id=' + id, function() {
data: $(this).val(),
success: function(resp) {
if(resp == '1') {
alert('Saved successfully');
} else {
alert('Oops, something went wrong!');
}
}
});
});
});
</script>
참조 페이지 https://stackoverflow.com/questions/1626730
반응형
'MySql' 카테고리의 다른 글
MySQL 1 행의 CSV 입력에 잘못된 열 개수가 있습니다. 오류 (0) | 2021.01.02 |
---|---|
MySQL nodejs 및 node-mysql로 행 반환 (0) | 2021.01.02 |
MySQL mysql의 값을 줄이지 만 음수는 아닙니다. (0) | 2021.01.02 |
MySQL Exclude specific columns in select query in MYSQL (0) | 2021.01.02 |
MySQL MySql 저장 프로 시저 : 프로 시저 테이블에서 선택하는 방법은 무엇입니까? (0) | 2021.01.01 |
댓글