简体   繁体   English

Facebook在Codeigniter中登录后如何重定向到另一个页面?

[英]How to redirect to another page after facebook login in codeigniter?

controller: welcome.php 控制器:welcome.php

public function login()
{
    $userData = array();
    if($this->facebook->is_authenticated()){
        $fbUserProfile = $this->facebook->request('get', '/me?fields=id,first_name,last_name,email,picture');
        $userData['oauth_provider'] = 'facebook';
        $userData['oauth_uid'] = $fbUserProfile['id'];
        $userData['name'] = $fbUserProfile['first_name']." ".$fbUserProfile['last_name'];
        $userData['email'] = $fbUserProfile['email'];
        $userData['user_image'] = $fbUserProfile['picture']['data']['url'];
        $userID = $this->user->checkUser($userData);
        if(!empty($userID))
        {
            $data['userData'] = $userData;
            $this->session->set_userdata('userData',$userData);
        }
        else
        {
           $data['userData'] = array();
        }
        $data['logoutURL'] = $this->facebook->logout_url();
    }
    else
    {
        $data['authURL'] =  $this->facebook->login_url();
    }

    $this->load->view('login',$data);
}

login.php 的login.php

<?php
    if(!empty($authURL)) 
    {
        echo '<a href="'.$authURL.'" class="facebook linked btn-block"><i class="fa fa-facebook"></i></a>';
    }
    else
    {
        echo '';
    }
?>

In this code, I have created facebook login in CodeIgniter. 在此代码中,我在CodeIgniter中创建了facebook登录名。 Now, what happening when I click on the facebook button it redirects me on facebook login page after fill up username and password it redirects me on the same page ie login . 现在,当我单击facebook按钮时,发生了什么情况,它在填写用户名和密码后将我重定向到facebook登录页面上,将其重定向到同一页面上,即login But I want to redirect my-profile page. 但是我想重定向my-profile页面。 So, How can I do this? 那么,我该怎么做? Please help me. 请帮我。

Thank You 谢谢

You can do something like this, 你可以做这样的事情,

$url = "www.domain.com/dashboard"; /// your url
$fb = new Facebook\Facebook([/* . . . */]);
$fbClient = $fb->FacebookRedirectLoginHelper($url); 

In your login page, 在您的登录页面中,

echo '<a href="'.$fbClient->getLoginUrl().'" class="facebook linked btn-block"><i class="fa fa-facebook"></i></a>';

or else 要不然

$fb = new Facebook\Facebook([/* . . . */]);

$helper = $fb->getRedirectLoginHelper();
$permissions = ['email', 'user_likes']; // optional
$loginUrl = $helper->getLoginUrl('http://{your-website}/login-callback.php', $permissions);

echo '<a href="' . $loginUrl . '">Log in with Facebook!</a>';

Read more options here 在此处阅读更多选项

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

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