Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Codeigniter回调函数不工作_Php_Codeigniter_Validation - Fatal编程技术网

Php Codeigniter回调函数不工作

Php Codeigniter回调函数不工作,php,codeigniter,validation,Php,Codeigniter,Validation,我从昨天开始就面临这个问题,无法解决。我的回调函数不工作。它总是回归真实,但我不知道为什么?有人能帮我吗 以下是模型的示例: class Login_model extends CI_Model { public function check_login($str) { $this->form_validation->set_message('check_login', 'Error'); return FALSE; } functi

我从昨天开始就面临这个问题,无法解决。我的回调函数不工作。它总是回归真实,但我不知道为什么?有人能帮我吗

以下是模型的示例:

class Login_model extends CI_Model {
public function check_login($str)
    {
        $this->form_validation->set_message('check_login', 'Error');
        return FALSE;

    }
function validate_login()
{
    $this->form_validation->set_rules('email', 'Email Address', 'trim|required|valid_email|xss_clean');
    $this->form_validation->set_rules('password', 'Password', 'callback_check_login');

    if($this->form_validation->run() == FALSE)
    {
        return FALSE;
    }

    return TRUE;
}}

回调函数不应返回TRUE。但是它回来了!我会为这个问题而死的!:@

它将返回
TRUE
,因为

  • 您没有将
    电子邮件
    密码
    传递到“验证登录()
  • 所以
    $this->form\u validation->run()
    将不起作用

  • validate_login()
    移动到任何控制器

    为什么
    validate_login
    方法返回布尔值而不加载视图或设置输出?您如何断定
    check\u login
    方法总是返回true(这是不可能的,因为不返回true)。我们需要更多的代码和解释,因为这对CI中的任何东西都不起作用。数据验证不应该进入CI中的控制器吗?它在模型中工作吗?你是对的!回调函数在模型中不起作用。我把表单验证和回调函数移到了控制器上,它工作得非常好@StrunaThank你,我刚把代码移到控制器上,终于成功了!难以置信的