2014-11-24 7 views
0

Я использую этот код (codeigniter-facebook-php-sdk-v4), чтобы подключить контроллер к Facebook. Mycontroller:Страница не перенаправляется после входа в Facebook в CodeIgniter

public function index() { 
    //load views 
    $this->load->view('pages/header'); 
    $this->load->view('pages/index'); //contains a href of mycontroller/facebook_login 
    $this->load->view('pages/footer'); 
} 

public function facebook_login() { 
    $fb_data = $this->lib_facebook->facebook(); 

    if (isset($fb_data['me'])) { 
     //save fb user data 
    } 
} 

После, данные сохраняются, браузер по-прежнему mycontroller/facebook_login страница. Я хочу, чтобы он перенаправил его на страницу index.

ответ

0

Facebook \ FacebookRedirectLoginHelper

Если веб-приложение использует Facebook Вход на задней части, вы должны будете перенаправлять посетителей на URL на Facebook, чтобы начать Войти запрос. Затем Facebook перенаправляет пользователя на URL-адрес обратного вызова приложений, , содержащий данные сеанса. Этот вспомогательный класс будет генерировать URL-адрес для входа , а также может обрабатывать и проверять данные из Facebook, , возвращая FacebookSession на успех.

Помните, когда вы устанавливаете свой обратный вызов? Да, измените это, прежде чем выполнять запрос.

// change the url before you make the request 
$desired_url = 'url_desired'; // set the url you want the user to be redirected after logging in 
$helper = new FacebookRedirectLoginHelper($desired_url); 

И тогда вы можете просто использовать

echo '<a href="' . $helper->getLoginUrl() . '">Login with Facebook</a>'; 
+0

Отлично! Это сработало. Благодарю. Кроме того, я мог бы избавиться от параметров URL? в URL? – u134211

+0

Нет, вы не можете, я попробовал и обыскал, похоже, ошибка API facebook. –

+0

Итак, есть ли еще один способ обхода? – u134211

Смежные вопросы