会话数据,在CodeIgniter中显示配置文件URL(带有Tank Auth)

cho*_*wwy 4 php mysql codeigniter tankauth

我正在开发CodeIgniter和MySQL中的应用程序.该应用包括用户个人资料; 我正在使用Tank Auth注册和验证用户.

我已经设置了几个用户,现在想要查看每个用户的个人资料.我需要知道:

1 - 如何将自定义会话数据添加到Tank Auth.我知道代码的外观(http://codeigniter.com/user_guide/libraries/sessions.html),但我不确定代码应该放在auth控制器的哪个位置,这是相当广泛的 - https:/ /github.com/ilkon/Tank-Auth/blob/master/application/controllers/auth.php.

2 - 如何将用户数据传递到视图.我已经设置了一个函数来检索用户数据(见下文)并希望将其传递给我的个人资料视图 - 我认为userdata(在代码中)将代表自定义会话数据,其中包括用户的id和用户名,其中一个我需要的URL.

3 - 网址我希望网址如下所示:http://example.com/users/3394或http://example.com/users/fooy_foo.我知道我需要对CI URI路由做一些事情,但我不确定如何将它与我从查询中获得的结果联系起来.

这是用户控制器的代码{

function index()
    {    
    $id = $this->tank_auth->is_logged_in('id');

    $this->db->where('id', $id);
    $q = $this->db->get('user');
    $data['userdata']=$q;

    $this->load->view('user_view', $data);
    }
}
Run Code Online (Sandbox Code Playgroud)

Nin*_*nja 5

我猜Runar已经为你回答了#2和#3.对于#1,打开application/libraries/Tank_auth.php和函数名称login.您将看到以下代码行:

$this->ci->session->set_userdata(array(
                                       'user_id'       => $user->id,
                                       'username'      => $user->username,
                                       'status'        => ($user->activated == 1) ? STATUS_ACTIVATED : STATUS_NOT_ACTIVATED,
                                ));
Run Code Online (Sandbox Code Playgroud)

set_userdata设置会话.您可以在此处添加要在会话中设置的更多变量.