简体   繁体   English

Facebook登录API + Codeigniter

[英]Facebook login api + codeigniter

Facebook Config Facebook的配置

<? if ( ! defined('BASEPATH')) exit('No direct script access allowed');

<?php
   $config['appId'] = APP_ID;
   $config['secret'] = APP_SECRET;
?>

Controller Code: 控制器代码:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Facebooklogin extends CI_Controller 
{
    public function Main()
    {
        parent::__construct();
        parse_str( $_SERVER['QUERY_STRING'], $_REQUEST );
        $CI = & get_instance();
        $CI->config->load("facebook",TRUE);
        $config = $CI->config->item('facebook');
        $this->load->library('Facebook', $config);
    }

    function index()
    {
        // Try to get the user's id on Facebook
        $userId = $this->facebook->getUser();

        // If user is not yet authenticated, the id will be zero
        if($userId == 0)
        {
            // Generate a login url
            $data['url'] = $this->facebook->getLoginUrl(array('scope'=>'email'));
            $this->load->view('signin', $data);
        } 
        else 
        {
            // Get user's data and print it
            $user = $this->facebook->api('/me');
            print_r($user);
        }
    }
}

?>

View File 查看文件

<a href="<?php echo $url;?>">
    <button class="btn btn-mini btn-facebook">
       <i class="icon-facebook"></i>
       | Connect with Facebook
    </button>
</a>

I have integrated this login api code. 我已经集成了此登录api代码。 when am trying to login, the url does not redirect to the facebook login page. 尝试登录时,URL不会重定向到Facebook登录页面。 I dont know how to redirect the url.Also i have added configuration file. 我不知道如何重定向url.Also我已经添加了配置文件。

Change your code to something like: 将您的代码更改为类似以下内容:

...
$login_url = $this->facebook->getLoginUrl(array('scope'=>'email'));
header( 'Location: ' . $login_url );
die();
...

Basically, do a header redirect straight to the login page if they're not logged in. Alternatively, you can do a JavaScript redirect in your signin view: 基本上,如果没有登录,则将标头直接重定向到登录页面。或者,您可以在signin视图中执行JavaScript重定向:

<script type="text/javascript">
window.location = '<?php echo $url; ?>';
</script>

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

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