|  | 
 
| 本帖最后由 xhui_cool 于 2009-2-9 10:21 编辑 
 一个登陆界面,输入name,password,点击登陆进入admin_controller,
 验证成功,然后设置 $_SESSION['user'] = $user_name 再重定向到主页面admin/home,
 问题发生了,session丢失,在hook函数中检查 session为空,  又定向到登陆界面,再次登陆,登陆成功。。。
 
 只有第一次登陆是这样,一旦登陆后退出登陆 重新登陆,一次成功,why?
 
 哎,redirect 函数用的是header 定位location,firefox下有这个bug,第一次重定向会失效。。。
 
 
 
 PHP复制代码 复制代码class Validate {
    function  validate_user(){
        $uri =&  load_class('URI');
        $type = $uri->segment(1);
        $param = $uri->segment(2);
 
        if($type == "admin" && !empty($param)){
            if(!isset($_SESSION['user'])){
                $CI = &  get_instance();
                $CI->load->helper('url'); 
                redirect('/admin');
            }
        }
    }
}
 
$hook['post_controller_constructor'] = array(
                                'class'    => 'Validate',
                                'function' => 'validate_user',
                                'filename' => 'validate.php',
                                'filepath' => 'hooks'
); | 
 |