Я хочу создать логин с Facebook на своем веб-сайте. Я нашел код в Интернете, который упростил загрузку библиотеки Facebook php sdk. Я пробовал код, но он не работает во мне. Пожалуйста, помогите мне, как сделать логин с facebook в codeigniter.
Вот код:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); require_once( APPPATH . 'libraries/facebook/src/facebook.php' ); class FacebookApp extends Facebook { var $ci; var $facebook; var $scope; public function __construct() { $this->ci =& get_instance(); $this->facebook = new Facebook(array('appId' => $this->ci->config->item('app_id'),'secret' => $this->ci->config->item('app_secret'), 'cookie' => true)); $this->scope = 'public_profile'; } public function login_url() { $params = array('scope' => $this->scope); return $this->facebook->getLoginUrl($params); } public function logout_url() { return $this->facebook->getLogoutUrl(array('next' => base_url() .'logout')); } public function getFbObj(){ return $this->facebook; } public function get_user() { $data = array(); $data['fb_user'] = $this->facebook->getUser(); if ($data['fb_user']) { try { $data['fb_user_profile'] = $this->facebook->api('/me'); return $data; } catch (FacebookApiException $e) { $this->facebook->destroySession(); $fb_login_url = $this->facebook->getLoginUrl(array('scope' => $this->scope)); redirect($fb_login_url, 'refresh'); } } }
вот мой контроллер:
<?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/FacebookApp'); } public function index(){ $obj_fb = new FacebookApp(); $fb_user_data = $obj_fb->get_user(); $data['fb_login_url'] = $obj_fb->login_url(); } }
и вот мое мнение:
<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" class="btn btn-primary"> Continue with Facebook </button> </form><!-- form-horizontal --> </div> </div><!-- modal-body --> </div><!-- modal-content --> </div><!-- modal-dialog --> </div><!-- choose -->
он не показывает ошибки, когда я проверяю это на своей консоли, я не знаю, что происходит, я начинаю добавлять библиотеки. Пожалуйста, помогите мне с этим. благодаря
Прежде всего загрузите помощник url
base_url()
чтобы вы могли использовать base_url()
.Load-помощник в контроллере …
function __construct() { parent::__construct(); //Load Helper $this->load->helper('url'); // Load user model $this->load->model('auth/user_model'); $this->load->library('facebook/FacebookApp'); }
На ваш взгляд, замените
onclick="<?php echo base_url()?>User_authentication"
к
onclick="<?php echo base_url('user_authentication');?>"
Используйте этот github https://github.com/bhawnam193/php-programs/tree/master/facebook-login для использования имени fb. Сначала создайте приложение facebook и замените
$app_id ,$app_secret, $site_url
в файле fbaccess.php .