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)
我猜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设置会话.您可以在此处添加要在会话中设置的更多变量.