我正在尝试使用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');
}
}
谢谢, 斯图尔特
答案 0 :(得分:0)
我不确定,添加base_url()
重定向(BASE_URL() '帐户/登录'。);
答案 1 :(得分:0)
从此网址的CI文档中,您可以尝试使用可选参数。
http://codeigniter.com/user_guide/helpers/url_helper.html
可选的第二个参数允许您在之间进行选择 "位置"方法(默认)或"刷新"方法。位置是 更快,但在Windows服务器上,它有时可能是一个问题。