我想在Facebook上创建一个登录页面到我的网站。我已经阅读了http://www.codexworld.com/facebook-login-codeigniter/
的教程。为什么还是不行?请帮忙。
这是我的控制器:
<?php defined('BASEPATH') OR exit('No direct script access allowed');
class User_Authentication extends CI_Controller
{
function __construct() {
parent::__construct();
// Load user model
$this->load->model('auth/user_model');
$this->load->library('facebook');
}
public function index(){
// Include the facebook api php libraries
include_once APPPATH."libraries/facebook.php";
// Facebook API Configuration
$appId = '150371602457568';
$appSecret = '756e81e1cbd13d93536406e55550f0ff';
//$redirectUrl = base_url() . 'user_authentication/';
$redirectUrl = 'http://localhost/clinic/user_authentication/';
$fbPermissions = 'email';
//Call Facebook API
$facebook = new Facebook(array(
'appId' => $appId,
'secret' => $appSecret
));
$fbuser = $facebook->getUser();
if ($fbuser) {
$userProfile = $facebook->api('/me?fields=id,first_name,last_name,email,gender,locale,picture');
// Preparing data for database insertion
$userData['oauth_provider'] = 'facebook';
$userData['oauth_uid'] = $userProfile['id'];
$userData['first_name'] = $userProfile['first_name'];
$userData['last_name'] = $userProfile['last_name'];
$userData['email'] = $userProfile['email'];
$userData['gender'] = $userProfile['gender'];
$userData['locale'] = $userProfile['locale'];
$userData['profile_url'] = 'https://www.facebook.com/'.$userProfile['id'];
$userData['picture_url'] = $userProfile['picture']['data']['url'];
// Insert or update user data
$userID = $this->user->checkUser($userData);
if(!empty($userID)){
$data['userData'] = $userData;
$this->session->set_userdata('userData',$userData);
} else {
$data['userData'] = array();
}
} else {
$fbuser = '';
$data['authUrl'] = $facebook->getLoginUrl(array('redirect_uri'=>$redirectUrl,'scope'=>$fbPermissions));
}
$this->load->view('user_authentication/index',$data);
}
public function logout() {
$this->session->unset_userdata('userData');
$this->session->sess_destroy();
redirect('/user_authentication');
}
}
这就是我想要执行它的地方:
div class="modal fade" id="choose" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header btn-success">
<h3 class="modal-title">Connect with</h3>
</div><!-- modal-header -->
<div class="modal-body">
<div class="connectwith">
<form class="form-horizontal" id="payment">
<button onclick="<?php echo base_url()?>User_authentication/index" class="btn btn-primary"> Continue with Facebook </button>
</form><!-- form-horizontal -->
</div>
</div><!-- modal-body -->
</div><!-- modal-content -->
</div><!-- modal-dialog -->
</div><!-- choose -->
它没有显示任何错误,但我想要的是当我触发名为connect to facebook的模态按钮时,它将运行我的控制器User_Authentication以使用facebook库。它没有做任何事情,也只是刷新。请帮忙 。谢谢