判断用户是否登陆各位一般写在哪里?
今天写到用户登陆后,从SESSION中取值,来判断用户是否登陆,没有登陆转到登陆页。各位一般把这个判断写在哪里?我直接写在了各个控制器的构造函数里面,倒是没有问题,不过总觉得不是太对,各位是怎么做的??
<?php
class BookControl extends Controller {
function BookControl(){
parent::Controller();
$this->load->model('userdata');
if (!$this->userdata->checkLogin()){
$this->load->helper("url");
redirect('usercontrol');
}
}
.................
}
我放到 MY_Controller 中 同楼上~ 楼上两位能不能说说思路,为啥要放my_里
如果我的网站只是要求显示用户的用户在顶端,只有当他要发布评论的时候才强制要求他登陆的话
我是不是可以把这个判断放在view的header里呢
我的view的header里判断是否登陆,如果登陆显示用户名,如果没登陆显示guest.
当他发布评论的时候如果登陆直接进入发布,如果没登陆则要求他登陆。
我这么想有没有什么问题? 麻烦能说详细些,谢谢了!! 原帖由 Hex 于 2008-10-24 01:39 发表 http://codeigniter.org.cn/forums/images/common/back.gif
我放到 MY_Controller 中
创建一个MY_Controller放在application/libraries/里面
<?php
class MY_Controller extends Controller {
function MY_Controller(){
parent::Controller();
$this->load->model('userdata');
if (!$this->userdata->checkLogin()){
$this->load->helper("url");
redirect('usercontrol');
}
}
}
?>
在控制器中继承它
<?php
class Main extends MY_Controller {
function Main()
{
parent::MY_Controller ();
}
function index()
{
$this->load->helper('url');
$this->load->view('main');
}
}
需要做用户身份验证的继承MY_Controller 不需要的继承 Controller,是这个意思吧
[ 本帖最后由 gz123 于 2008-10-24 10:57 编辑 ] 原帖由 wood 于 2008-10-24 11:15 发表 http://codeigniter.org.cn/forums/images/common/back.gif
如果我的网站只是要求显示用户的用户在顶端,只有当他要发布评论的时候才强制要求他登陆的话
我是不是可以把这个判断放在view的header里呢
逻辑判断应当放在model中,而控制逻辑判断的逻辑应当放在控制器中。
如果只有发布评论需要登陆的话,把判断的控制器放在发布评论的控制器里。 原帖由 沧蓝 于 2008-10-24 11:43 发表 http://codeigniter.org.cn/forums/images/common/back.gif
逻辑判断应当放在model中,而控制逻辑判断的逻辑应当放在控制器中。
如果只有发布评论需要登陆的话,把判断的控制器放在发布评论的控制器里。
但如果不发布评论的话也要在顶端显示用户名或者guest啊 wood: 你可以做一个判断是否登录的 Helper,放在 view 中。
然后可以根据判断结果来决定显示什么,但是逻辑一定不要放到视图中,视图只根据条件显示内容就可以了。 我弄了个判断是否登录的HELPER要判断的时候就调用那个函数
不知道这样写好不好我连判断逻辑都写那个函数里了
页:
[1]
2