I'm using facebook login in my website where the user can login from different pages everything works fine just one thing how to redirect the user to the previous url after login which will be different depond on where the user click login
use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookRequestException;
use Facebook\FacebookAuthorizationException;
use Facebook\GraphObject;
use Facebook\GraphUser;
use Facebook\GraphSessionInfo;
use Facebook\FacebookHttpable;
use Facebook\FacebookCurlHttpClient;
use Facebook\FacebookCurl;
$app_id='XXXXXXXXX';
$app_sercret='XXXXXXXXXXXX';
$redirect_url='http://example.com';
//Intialize
FacebookSession::setDefaultApplication($app_id,$app_sercret);
$helper= new FacebookRedirectLoginHelper($redirect_url);
$sess=$helper->getSessionFromRedirect();
if(isset($_SESSION['fb_token'])){
$sess = new FacebookSession($_SESSION['fb_token']);
}
//if exisit
if(isset($sess)){
$_SESSION['fb_token']= $sess->getToken();
$request = new FacebookRequest($sess,'GET','/me');
$response =$request->execute();
$graph = $response->getGraphObject(GraphUser::classname());
$name = $graph->getName();
$id = $graph->getId();
$pimage = 'http://graph.facebook.com/'.$id.'/picture?width=170';
$timage = 'http://graph.facebook.com/'.$id.'/picture?width=30';
$email = $graph->getproperty('email');
$attributes=array(
"user_fname" => $name,
"user_email" => $email,
"user_image" => $pimage,
"user_thumb" => $timage,
);
$newuser =Details::create($attributes);
When you are on your PHP page where you redirect users to your Facebook login page, save your user's last loaded page in session by using $_SERVER['HTTP_REFERER'] (source).
Once user logs in and Facebook redirects to your callback URL, fetch that URL from your session and redirect user to that page.