2016-12-27 3 views
0

Я хочу создать логин с Facebook на моем сайте. Я нашел код в Интернете, который упростил загрузку библиотеки Facebook php sdk. Я пробовал код, но он не работает во мне. Пожалуйста, помогите мне, как сделать логин с facebook в codeigniter.Codeigniter логин с facebook ничего не происходит

Вот код:

<?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 --> 

он не показывает ошибку, когда я проверить его на моя консоль, я не знаю, что происходит, я новичок в добавлении библиотек. Пожалуйста, помогите мне с этим. Благодаря

ответ

0

Прежде всего нагрузки 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');?>" 
+0

привет сэр, .. Благодарим вас за ответ. Где я могу разместить свои приложения и приложение? я уже загрузил свой помощник url ​​в autoload –

+0

'var $ ci;' конвертирует его в 'public $ ci'; –

+0

sir Я уже изменяю onclick = "", Но также и то же самое, когда ничего не происходит, он только обновляет/перегружает мою страницу каждый раз, когда я нажимал кнопку –

Смежные вопросы