douni1396 2017-01-15 03:41
浏览 38

Codeigniter如何包含facebook sdk初始化?

Hi I'm beginner in Codeigniter. I have 4 view page that have facebook login (1. login page 2.register page 3.login special member page 4.register special member page)

And all 4 views file I have to initial facebook php sdk like this

<?php require_once(APPPATH.'libraries/facebook/src/facebook.php');
$facebook = new Facebook(array(
  'appId'  => '201637766943985',
  'secret' => '4e70dc1dbfc4787e81bec0d7b57d6a1c',
));


$user = $facebook->getUser();

It's very annoying that one day I have to change appID and appsecret, I have to change it in 4 view files.

so I create new view file name "fb_init.php" that contain code

<?php require_once(APPPATH.'libraries/facebook/src/facebook.php');
    $facebook = new Facebook(array(
      'appId'  => '201637766943985',
      'secret' => '4e70dc1dbfc4787e81bec0d7b57d6a1c',
    ));


    $user = $facebook->getUser();

and then in 4 view files I include fb_init.php by write

$this->load->view('fb_init.php');

However, The problem is the remaining code of facebook php sdk cannot refer to $user variable. the remaining code of facebook sdk is here.

    if ($user) {
      try {
        // Proceed knowing you have a logged in user who's authenticated.
        $user_profile = $facebook->api('/me?fields=id,email,name,first_name,last_name,picture'); //ต้องมีหลัง /me ไม่งั้นประวัติมาไม่ครบ
      } catch (FacebookApiException $e) {
        error_log($e);
        $user = null;
      }
    }

$loginUrl = $facebook->getLoginUrl(array(  
    "redirect_uri"=>"http://www.club55.net/login",   
    "scope"=>"email"
  ));

How could I do?

  • 写回答

2条回答 默认 最新

  • doudao1282 2017-01-15 13:19
    关注

    Try this, in your fb_init.php.

    $data['user'] = $facebook->getUser();
    

    And in your view file.

    $this->load->view('fb_init.php', $data);
    
    if ($user) {
    ...
    
    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料