1

私はこのコードを試しています:

$this->load->library('fbconnect');

    if ($this->fbconnect->user){

         echo "<pre>";  
         print_r($this->fbconnect->user);
         echo "</pre>";
    }else{
         echo "could not login at this tym";
     }

「else」条件のエコー部分を常に表示しています。「fbconnect」は facebookconnect コードを含むライブラリ名で、「user」は fb 関数「getUser()」から値を取得しています

ここにあります: 'fbconnect.php' ライブラリのコード:

class Fbconnect extends Facebook{

    public  $user = NULL;
    public  $user_id = NULL;

    public function Fbconnect(){

        $ci=& get_instance();       
        $ci->config->load('facebook',TRUE);     
        $config = $ci->config->item('facebook');        
        parent::__construct($config);

            $this->user_id = $this->getUser();
        $me=NULL;


        if($this->user_id){
            try{
                $me = $this->api('/me');
                $this->user = $me;
            }
            catch(FacebookApiException $e){
                error_log($e);
            }
        } 
    }
}
4

2 に答える 2

0

ログイン機能はコントローラー自体に入れることができます。Facebook.php(facebook php sdkファイル)とbase_facebook.php(facebook php sdkファイル)を追加application/libraries

class Fbconnect extends CI_Controller{
    public function Fbconnect()
    {
       parent::__construct();
       $CI = & get_instance();
       $CI->config->load("facebook",TRUE);
       $config = $CI->config->item('facebook');
       $this->load->library('Facebook', $config);
    }

    function facebook_login()
    {
        $me = $this->facebook->getUser();

        if($me == 0){
        $loginUrl = $this->facebook->getLoginUrl();
        //Do the necessary with $loginUrl
        }else{
              try{
                   $user = $this->facebook->api('/me');
                   return $user; //or echo $user
                 }catch(FacebookApiException $e)
                 {
                   error_log($e);
                 }
      } 
   }
}

関数を呼び出しますhttp://yoursite.com/index.php/Fbconnect/facebook_login

于 2013-06-13T13:08:48.790 に答える