1
我有一個設置頁面作爲我的遊戲類的一部分,其中一個設置字段是複選框。問題與數據庫中的複選框值...?
這是我的複選框HTML場:
<div class="field">
<label for="allow_robot_name">Allow Robot Name?</label>
<input type="checkbox" name="allow_robot_name" <?php if ($r->allow_robot_name == 1) { echo "checked"; } ?>>Yes
</div>
我遇到的問題是,當用戶檢查複選框,在數據庫中變爲1的值。但是,如果他們然後取消選中它,然後更新複選框重置數據庫來檢查和值不會從1到0
這是我更新數據庫更改代碼:
<?php
$records = array();
if (!empty($_POST)) {
if (isset($_POST['site_name'], $_POST['header_text'], $_POST['footer_copyright'], $_POST['default_robot_name'])) {
$site_name = $_POST['site_name'];
$header_text = $_POST['header_text'];
$footer_copyright = $_POST['footer_copyright'];
$default_robot_name = $_POST['default_robot_name'];
if (isset($_POST['allow_robot_name'])) {
$allow_robot_name = 1;
} else {
$allow_robot_name = 0;
}
if (!empty($site_name) && !empty($header_text) && !empty($footer_copyright) && !empty($allow_robot_name) && !empty($default_robot_name)) {
$update = $db->prepare("UPDATE user_settings set site_name = ?, header_text = ?, footer_copyright = ?, allow_robot_name = ?, default_robot_name = ?");
$update->bind_param('sssis', $site_name, $header_text, $footer_copyright, $allow_robot_name, $default_robot_name);
if ($update->execute()) {
header('Location: index.php');
die();
}
}
}
}
爲什麼沒有按」 t複選框值更新?