在CodeIgniter php上使用会话+验证的问题

时间:2017-12-19 20:26:41

标签: php codeigniter

我正在开发CodeIgniter Framework。我使用了库会话没有问题,获得这样的数据$this->session->usserdata('IdUsuario')这没关系。

但是在使用form_validation之后:

  public function verify_password()
    {
      $this->load->library('form_validation');

            $this->form_validation->set_rules('Password', 'Contraseña', 'required|trim|callback_correct_password');
            $this->form_validation->set_rules('Password1', 'Nueva ontraseña', 'required|trim');
            $this->form_validation->set_rules('Password2', 'Repetir contraseña', 'required|trim|matches[Password1]');

            $this->form_validation->set_message('correct_password', 'Contraseña incorrecta');
            $this->form_validation->set_message('required', 'El campo %s es obligatorio.');
            $this->form_validation->set_message('matches', 'El campo %s no es igual que el campo %s.');
            if ($this->form_validation->run() == FALSE) {
                $this->edit_password();
            } else {
                   $this->Opciones_model->save_password($this->input->post('Password'), $this->session->usserdata('IdUsuario'));
                   $this->index();
            }
    }

我每次都会得到:

  

致命错误:调用未定义的方法CI_Session :: usserdata()

只有当我使用验证+会话时才会发生这种情况,我尝试了几次不同的尝试,但总是出现相同的错误。

会话在自动加载文件上定义(正在运行)。

1 个答案:

答案 0 :(得分:1)

试试这个:

 $this->session->userdata('IdUsuario')

取而代之,

 $this->session->usserdata('IdUsuario')