【问题标题】:Problems using session + validation on CodeIgniter php在 CodeIgniter php 上使用会话 + 验证的问题
【发布时间】:2018-06-02 08:14:21
【问题描述】:

我正在开发 CodeIgniter 框架。我使用库会话没有问题,得到这样的数据$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()

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

会话是在自动加载文件上定义的(它的工作)。

【问题讨论】:

  • 你能把你的构造函数和保存密码的方法贴出来吗?
  • usserdata 应该是用户数据,但这不是重点。您的保存密码功能在哪里?在这个控制器中?
  • 对不起,我发布了错误的代码(它是测试),现在是正确的,save_password 是模型函数。错误是:调用未定义的方法 CI_Session::usserdata()
  • 再次阅读我的评论。你拼错了

标签: php codeigniter


【解决方案1】:

试试这个:

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

改为关闭,

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-03
    • 2011-09-13
    • 2012-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-10
    相关资源
    最近更新 更多