0

我有一个用于编辑和创建用户的表单。在表单上,​​我有一个 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 是必需的,我不知道为什么。

4

2 回答 2

2

在 CodeIgniter 中,如果存在则$this->input->post('foobar')返回值,$_POST['foobar']如果不存在则返回false。无论哪种方式,都会设置一个值,因此isset()将评估为 true

改为使用if ($user_id !== FALSE)

于 2012-12-03T20:41:02.437 回答
1

你可以简单地使用

if($this->input->post('user_id'))
{
    $this->form_validation->set_rules('user_id', 'User ID', 'required|trim|xss_clean|integer');
}
于 2012-12-03T20:48:20.723 回答