我有一个用于编辑的表单并为用户创建。在表单上我有一个if语句,如果表单是一个编辑,那么它会放置一个隐藏的表单元素,用于保存正在更新的用户的值。
当我重视php侧控制器上的表单时,这就是我正在使用它。
$user_id = $this->input->post('user_id');
if (isset($user_id_id))
{
$this->form_validation->set_rules('user_id', 'User ID', 'required|trim|xss_clean|integer');
}
我没有在编辑表单上对此进行测试,但是在添加表单上,它表示需要用户ID,我不确定原因。
答案 0 :(得分:2)
在CodeIgniter中,$this->input->post('foobar')
会返回$_POST['foobar']
的值(如果存在),如果不存在,则返回false
。无论哪种方式,都设置了值,isset()
will evaluate to a true。
改为使用if ($user_id !== FALSE)
。
答案 1 :(得分:1)
您只需使用
即可if($this->input->post('user_id'))
{
$this->form_validation->set_rules('user_id', 'User ID', 'required|trim|xss_clean|integer');
}