【问题标题】:setting sessions to use codeigniter设置会话以使用 codeigniter
【发布时间】:2016-02-18 03:53:17
【问题描述】:

好的,我正在尝试构建一个用户配置文件,其中 first_name、密码和用户名显示在视图中。

因为在模型中设置了密码和用户名,所以很容易在控制器中设置会话用户数据,然后将其显示在视图中。

我怎样才能设置一个会话来获取 first_name 而不将其放入验证函数中?

谢谢,我是 codeigniter 和 MVC 的新手, 感谢您的帮助。

型号

function validate()
{
    $this->db->where('username', $this->input->post('username'));
    $this->db->where('password', md5($this->input->post('password')));
    $query = $this->db->get('membership');

    if($query->num_rows() == 1)
    {
        return true;
    }
}

控制器

function validate_credentials()
{
    $this->load->model('member_model');
    $query = $this->member_model->validate();

    if ($query) // if user cred validate the user session start
    {
        $data = array(
            'username' => $this->input->post('username'),
            'password' => $this->input->post('password'),

            'is_logged_in' => true
        );

        $this->session->set_userdata($data);

        redirect('members/members_area');
    } else {
        $this->index();
        echo 'Incorrect Password or Username';
    }
}

查看

<h2>Welcome Back, <?php echo $this->session->userdata('username'); ?>!</h2>
<h2>your password, <?php echo $this->session->userdata('password'); ?>!</h2>

【问题讨论】:

    标签: php codeigniter session user-data


    【解决方案1】:

    验证函数

    function validate()
    {
    $this->db->where('username', $this->input->post('username'));
    $this->db->where('password', md5($this->input->post('password')));
    $query = $this->db->get('membership');
    
    if($query->num_rows() == 1)
    {
        return $query->row();
    }
    else
    {
    return false;
    }
    }
    

    在控制器中

    function validate_credentials()
    {
    $this->load->model('member_model');
    $query = $this->member_model->validate();
    
    if ($query) // if user cred validate the user session start
    {
        $data = array(
            'username' => $query->username,
            'password' => $query->password,
            'first_name'=>$query->firstname
            'is_logged_in' => true
        );
    
        $this->session->set_userdata($data);
    
        redirect('members/members_area');
     } else {
        $this->index();
        echo 'Incorrect Password or Username';
    }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-13
      相关资源
      最近更新 更多