【发布时间】:2013-09-12 15:07:28
【问题描述】:
请仔细阅读我的问题,有点棘手。
下面的函数用于显示我的“添加”和“编辑”记录页面上的表单中是否已选中复选框。这里没问题。
问题: 假设我有 2 个字段“名称”和“启用”。只有经过验证的字段是“名称”。 当用户编辑现有记录并输入无效的“名称”时,表单将得到验证。如果用户取消选中“启用”复选框(之前的值为 $field_record_value="1",来自数据库的设置),则该复选框的值仍设置为“1”,因为它仍来自数据库。
问题: 当数据库记录 ($field_record_value) 设置为 1 时,如何将值设置为“0”?
我知道问题在于这段代码:
$is_checked = isset($field_record_value) ? $field_record_value : '0';
我似乎无法弄清楚,也许是因为我在这上面花了大约 2 个小时,而且我的大脑被炸了..但我离题了 :)
//------------------------------------------------
// Function to check if checkbox is selected
//------------------------------------------------
function form_checkbox_selected($field_name, $page = 'add', $field_record_value = '0')
{
if(!empty($_POST[$field_name]) && intval($_POST[$field_name]))
{
$is_checked = '1';
}
else
{
if($page ==' edit')
{
$is_checked = isset($field_record_value) ? $field_record_value : '0';
}
else
{
$is_checked = '0';
}
}
return $is_checked;
}
【问题讨论】: