0

我正在尝试自己构建一个带有会话的登录系统作为练习,但我遇到了一个我似乎无法解决的问题。

当用户登录我的测试网站时,我想从数据库中获取他的一些数据(如姓氏和电子邮件)并将其放入他的会话中。在此之前,我使用了 return true 或 false 方法并在会话中添加了一个服装条目,但现在我想添加额外的东西,我可以在其他页面上轻松访问,如用户名/电子邮件等。

我尝试了将数据从模型传递到控制器的 diff 方法,但我似乎找不到在控制器本身内部使用信息数组的方法。

我当前的代码如下所示:

这是模型

        $username = $this->input->post('username');
    $password = md5($this->input->post('password'));
    $query = $this->db->query("SELECT * FROM users WHERE username = '$username' AND password = '$password' LIMIT 1");
        if($query->num_rows() > 0)
        {

            foreach ($query->result() as $row)
            {
                $data[]['id'] = $row->id;
                $data[]['name'] = $row->name;
                $data[]['surname'] = $row->surname;
                $data[]['username'] = $row->username;
                $data[]['email'] = $row->email;
                $data[]['premission_level'] = $row->premission_level;
                $data[]['disabled'] = $row->disabled;
            }
        }
        return $data;
}

获取数据后,它会转到此控制器:

    public function clogin()
{
    $this->load->model('M_login');
    $query = $this->M_login->mlogin();

    if($query == TRUE)
    {
        $data['product'] = $this->M_login->get_user_info();
        $session_data = array(
                'username' => $this->input->post('username'),
                'is_logged_in' => TRUE
                    );
        $this->session->set_userdata($session_data);
           echo '<pre>';
        print_r($data);
    }

}

在此之后,我迷失了如何从数组中获取信息。数组成功传递,因为我可以使用 print_r 查看里面的内容。

PS:数组中的当前字段是用户名/姓名/姓氏/电子邮件/禁用。

先感谢您。

编辑:这就是我的数组的样子:

Array

( [0] => 数组

    (
        [id] => 1
        [name] => war
        [surname] => howl
        [username] => warhowl
        [email] => someone@none.com
        [premission_level] => 1
        [disabled] => 0
    )

)

4

1 回答 1

0

您正在将行的字段插入到分隔的数组中:

$data[]['id'] = $row->id;
$data[]['name'] = $row->name;
...

尝试:

$rowData = array();
$rowData['id'] = $row->id;
$rowData['name'] = $row->name;

$data[] = $rowData

要不就

$data[] = array(
    'id'   => $row->id,
    'name' => $row->name,
    ...
);
于 2013-04-23T14:27:47.703 回答