2013-01-13 132 views
0

我不知道匹配函数为什么不运行。我希望用户引入密码并确认它再次引入。问题是,当我使用匹配函数为了比较两个密码Codeigniter表示引入两个等于后密码不相等。匹配函数不运行

下面是代码:

public function validacion_registro() 
{ 
    $this->input->post('correo'); 
    $this->input->post('usuario'); 
    $this->input->post('contrasenya'); 

    $this->form_validation->set_rules('correo','Dirección de correo','trim|required|valid_email|xss_clean'); 
    $this->form_validation->set_rules('usuario','Nombre de usuario','trim|required|min_length[5]|xss_clean'); 
    $this->form_validation->set_rules('contrasenya','Contraseña','trim|required|md5|xss_clean|matches[repcontrasenya]'); 
    $this->form_validation->set_rules('repcontrasenya','Confirmación de contraseña','trim|required|md5|xss_clean'); 
    $this->form_validation->set_rules('privacidad','Política de privacidad','trim|required|md5|xss_clean'); 

    if ($this->form_validation->run()) 
    { 
     redirect('anuncios/test'); 
     echo ("validación válida"); 
    } 
    else { 
      $this->load->view('anuncios/login'); 
     } 
} 

的错误是在contrasenya和repcontrasenya之间的比较。当两者都相等时,Codigniter表示不同。

怎么了?

谢谢。

回答

0

命令:$ this-> form_validation-> run()返回true,如果没有错误。

修改的代码:

if ($this->form_validation->run() == FALSE) 
{ 
    redirect('anuncios/test'); 
    echo ("validación válida"); 
} 
else 
{ 
    $this->load->view('anuncios/login'); 
} 
+0

谢谢回答,但是这是没有问题的。 – axmug

+0

现在,它的工作。这是规则的顺序。而不是$ this-> form_validation-> set_rules('contrasenya','Contraseñ a','trim | required | md5 | xss_clean | matches [repcontrasenya]'); – axmug

+0

我在需要的规则后输入了匹配项。谢谢回答。 – axmug