0

Facebook で自分のサイトにログインしようとしていますが、IE9 を除くすべてのブラウザーで動作します。

私の関数は 'redirect('home');' に到達します。しかしその後停止し、現在のページにとどまります。したがって、すべてのセッション データが設定され、ユーザーは 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');
    }
}
4

2 に答える 2

0

よくわかりません。base_url()を追加してください

redirect(base_url()。'account / login');

于 2012-07-11T07:21:14.663 に答える
0

この URL の CI ドキュメントから、オプションのパラメーターを試すことができます。

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

オプションの 2 番目のパラメーターを使用すると、"location" メソッド (デフォルト) または "refresh" メソッドを選択できます。ロケーションは高速ですが、Windows サーバーでは問題になることがあります。

于 2012-09-10T21:20:22.520 に答える