简体   繁体   English

用Facebook登录后如何重定向

[英]how to redirect after login with facebook

i have url parameter in login page ie. 我在登录页面即具有url参数。 login.php?id=223 i want to login using facebook login and my code is login.php?id=223我想使用Facebook登录名登录,我的代码是

// 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 通过单击登录按钮,我成功登录,并且还将电子邮件提取到状态字段中,我想知道如何通过url参数和Facebook收到的电子邮件或名称将页面重定向到user.php,我认为是用ajax方法实现的我达到了预期的重定向结果

// 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;
            });
        }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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