简体   繁体   中英

how to redirect after login with facebook

i have url parameter in login page ie. login.php?id=223 i want to login using facebook login and my code is

// initialize and setup facebook js sdk
        window.fbAsyncInit = function() {
            FB.init({
              appId      : 'myappid',
              xfbml      : true,
              version    : 'v2.5'
            });
            FB.getLoginStatus(function(response) {
                if (response.status === 'connected') {

                    document.getElementById('login').style.visibility = 'hidden';
                    var id = getUrlParameter('id');
                    alert(id);

                } else if (response.status === 'not_authorized') {
                    document.getElementById('status').innerHTML = 'We are not logged in.'
                } else {
                    document.getElementById('status').innerHTML = 'You are not logged into Facebook.';
                }
            });
        };
        (function(d, s, id){
            var js, fjs = d.getElementsByTagName(s)[0];
            if (d.getElementById(id)) {return;}
            js = d.createElement(s); js.id = id;
            js.src = "//connect.facebook.net/en_US/sdk.js";
            fjs.parentNode.insertBefore(js, fjs);
        }(document, 'script', 'facebook-jssdk'));

        // login with facebook with extra permissions
        function login() {
            FB.login(function(response) {
                if (response.status === 'connected') {





                    document.getElementById('status').innerHTML = 'We are connected.';



                    document.getElementById('login').style.visibility = 'hidden';
                } else if (response.status === 'not_authorized') {
                    document.getElementById('status').innerHTML = 'We are not logged in.'
                } else {
                    document.getElementById('status').innerHTML = 'You are not logged into Facebook.';
                }
            }, {scope: 'email'});
        }

        // getting basic user info
        function getInfo() {
            FB.api('/me', 'GET', {fields: 'first_name,last_name,name,id,email'}, function(response) {
                document.getElementById('status').innerHTML = response.email;
            });
        }
        </script>


    <div id="status"></div>
    <button onclick="getInfo()">Get Info</button>
    <button onclick="login()" id="login">Login</button>

by clicking on login button i successfully logged and also fetch the email into the status field,i want to know how to redirect the page to user.php by with url parameter and email or name received by facebook i think by ajax methode but how can i achieve the desired result to redirect

// initialize and setup facebook js sdk
        window.fbAsyncInit = function() {
            FB.init({
              appId      : 'app id',
              xfbml      : true,
              version    : 'v2.5'
            });
            FB.getLoginStatus(function(response) {
                if (response.status === 'connected') {

                    document.getElementById('login').style.visibility = 'hidden';
                    var sPageURL = window.location.search.substring(1);
    var sURLVariables = sPageURL.split('?');
    for (var i = 0; i < sURLVariables.length; i++) 
    {
        var sParameterName = sURLVariables[i].split('=');

            var id= sParameterName[1];
            FB.api('/me', 'GET', {fields: 'first_name,last_name,name,id,email'}, function(response) {
                var emailid=document.getElementById('status').innerHTML = response.email;
                window.location='order.php?id='+id+'&email='+response.email;
            });



    }

                } else if (response.status === 'not_authorized') {
                    document.getElementById('status').innerHTML = 'We are not logged in.'
                } else {
                    document.getElementById('status').innerHTML = 'You are not logged into Facebook.';
                }
            });
        };
        (function(d, s, id){
            var js, fjs = d.getElementsByTagName(s)[0];
            if (d.getElementById(id)) {return;}
            js = d.createElement(s); js.id = id;
            js.src = "//connect.facebook.net/en_US/sdk.js";
            fjs.parentNode.insertBefore(js, fjs);
        }(document, 'script', 'facebook-jssdk'));

        // login with facebook with extra permissions
        function login() {
            FB.login(function(response) {
                if (response.status === 'connected') {

                var sPageURL = window.location.search.substring(1);
    var sURLVariables = sPageURL.split('?');
    for (var i = 0; i < sURLVariables.length; i++) 
    {
        var sParameterName = sURLVariables[i].split('=');

            var id= sParameterName[1];
            FB.api('/me', 'GET', {fields: 'first_name,last_name,name,id,email'}, function(response) {
                var emailid=document.getElementById('status').innerHTML = response.email;
                window.location='order.php?id='+id+'&email='+response.email;
            });



    }



                    document.getElementById('status').innerHTML = 'We are connected.';



                    document.getElementById('login').style.visibility = 'hidden';
                } else if (response.status === 'not_authorized') {
                    document.getElementById('status').innerHTML = 'We are not logged in.'
                } else {
                    document.getElementById('status').innerHTML = 'You are not logged into Facebook.';
                }
            }, {scope: 'email'});
        }

        // getting basic user info
        function getInfo() {
            FB.api('/me', 'GET', {fields: 'first_name,last_name,name,id,email'}, function(response) {
                document.getElementById('status').innerHTML = response.email;
            });
        }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM