Codeigniter redirect()在IE9中不起作用

时间:2012-07-11 03:50:33

标签: facebook codeigniter session redirect login

我正在尝试使用Facebook登录我的网站,它适用于除IE9以外的所有浏览器!

我的功能一直到'重定向('主页');'但然后停止并停留在当前页面上。因此,所有会话数据都已设置并且用户已登录到Facebook,但它们会保留在登录页面上而不会被重定向。

这是我的代码:

public function fb_login()
{
    if($this->fb_connect->user_id){
        $this->session->unset_userdata('logged');
        $this->session->unset_userdata('user_data');

        // Check if the user had previously logged in using facebook connect
        $fb_user = $this->fb_connect->user;
        $user_details = $this->Model->check_fb_user($fb_user);
        // This will then return their user details

        if($user_details['status'] == 0) redirect('account');

        $user_data['raw_details'] = $user_details;
        $user_data['fb_id'] = $this->fb_connect->user_id;
        $user_data['join_date'] = date( 'dS F, Y', strtotime($user_details['date_added']) );
        $user_data['location'] = $user_details['user_location'];
        $user_data['name'] = $user_details['user_fname'] . ' ' . $user_details['user_lname'];
        $user_data['display_name'] = $user_details['user_display_name'];
        $user_data['fb_dp'] = 'https://graph.facebook.com/'.$user_details['fb_id'].'/picture';

        $this->session->set_userdata('user_data',$user_data);

        if($this->session->userdata('referer')){
            $referer = $this->session->userdata('referer');
            $this->session->unset_userdata('referer');

            redirect($referer);
        }else{
            redirect('home');
        }

    }else{
                    error_log('148');
        redirect('account/login');
    }
}

谢谢, 斯图尔特

2 个答案:

答案 0 :(得分:0)

我不确定,添加base_url()

  

重定向(BASE_URL() '帐户/登录'。);

答案 1 :(得分:0)

从此网址的CI文档中,您可以尝试使用可选参数。

http://codeigniter.com/user_guide/helpers/url_helper.html

  

可选的第二个参数允许您在之间进行选择   "位置"方法(默认)或"刷新"方法。位置是   更快,但在Windows服务器上,它有时可能是一个问题。