繁体   English   中英

如果条件总是在返回用户“ $ this->'library_name'-> getUser()的同时返回零

[英]If condition is always returning zero while getting the user in " $this->'library_name'->getUser()

我正在尝试此代码:

$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);
            }
        } 
    }
}

登录功能可以放在控制器本身中。 将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

检查日志文件或使用

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

查看错误消息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM