2011-11-21 7 views
1

가이드 here을 따라 페이스 북 php sdk로 게임을하고 있지만 내 작은 앱이 작동하지 않습니다. 그것은 로그인 페이지에 계속 머물러 있습니다.사용자가 facebook php sdk로 CodeIgniter를 사용하여 로그인 할 수 없습니다

<h1>php-sdk</h1> 

<?php if($user_id): ?> 
    <a href="<?php echo $logout_url; ?>">Logout</a> 
<?php else: ?> 
    <div> 
    Login using OAuth 2.0 handled by the PHP SDK: 
    <a href="<?php echo $login_url; ?>">Login with Facebook</a> 
    </div> 
<?php endif ?> 

<h3>PHP Session</h3> 
<pre><?php print_r($_SESSION); ?></pre> 

<?php if($user_id): ?> 
    <h3>Your Avata</h3> 
    <img src="https://graph.facebook.com/<?php echo $user_id; ?>/picture"> 

    <h3>Your User Object (/me)</h3> 
    <pre><?php print_r($user_profile); ?></pre> 
<?php else: ?> 
    <strong><em>You are not Connected.</em></strong> 
<?php endif ?> 

나는 그것에 집착하고 이유를 알아낼 수 있습니다 : 여기

<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); 
class Facebook_connect extends CI_Controller 
{ 
    function __construct() 
    { 
     parent::__construct(); 
     $this->load->helper(array('form','url')); 
     $this->load->library('fb_connect'); 
    } 

    function index() 
    { 

    } 

    function test() 
    { 
     $data['title'] = 'Facebook API Testing'; 

     $data['user_id'] = $this->fb_connect->user_id; 
     if($data['user_id']) 
     { 
      $data['user_profile'] = $this->fb_connect->user; 
     } 
     if($data['user_id']) 
     { 
      $data['logout_url'] = $this->fb_connect->getLogoutUrl();; 
     } 
     else 
     { 
      $data['login_url'] = $this->fb_connect->getLoginUrl(); 
     } 

     $this->template->load('template', 'facebook_connect/test', $data); 
    } 
} 
?> 

뷰입니다 : 여기

는 컨트롤러입니다.

답변

0

를 사용하여 페이스 북에서 제공하는 예 :

https://github.com/facebook/php-sdk/blob/master/examples/example.php

하지만 당신의 $this->load->library('fb_connect');을 유지하고 그 예에있는 페이스 북의 라이브러리 호출에 $this->fb_connect을 추가해야합니다.

100 % 작동합니다. 컨트롤러에 모든 코드를 입력하여 작동하는지 확인한 다음 필요에 따라 배포하십시오. 문제가 무엇인지, 아마도 잘못된 반환 URL을 알 수 없습니다.

관련 문제