0

私は自分のサイトでFacebookログインを作成し、ユーザーのデータをログに記録したときに、ユーザーの情報をコントローラーに格納するための配列セッションを作成しました。

別のページに移動すると、このセッションで問題が発生し、セッションが失われます。これで何が起こるかわかりませんか?

私はこのようにセッションを設定しました:$this->session->set_userdata('fb_user_info', $user_info);

しかし、私自身のアカウントログインも同じように行います。すべてのページで機能します。

私の質問は、なぜセッションが失われるのですか?

user_infoを取得するときにセッションを設定するための私のコードは次のとおりです

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');


class Account extends CI_Controller {

public function __construct()
{       
    parent::__construct();
    //$this->authenticate();

    // Facebook constructor code
        $CI = & get_instance();
        $CI->config->load("facebook",TRUE);
        $config = $CI->config->item('facebook');
        $this->load->library('facebook', $config); 
    public function index() 
    {       
        $user = $this->facebook->getUser();

        if($user) {

            try {

                $user_info = $this->facebook->api('/me');

        // Set session

            $this->session->set_userdata('FB_SESSION_INFO', $user_info);

                    $args = $logout_url;

            $data['getLogoutUrl'] = $this->facebook->getLogoutUrl($args);

        } catch(FacebookApiException $e) {
                echo '<pre>'.htmlspecialchars(print_r($e, true)).'</pre>';
                $user = null;
            }
        } else {

            $param = array('scope' => 'email','redirect_uri' => $mycurrent_url);

            $data['getURLLogin'] = "<a href=\"".$this->facebook->getLoginUrl($param)."\">Login with facebook</a>";

    }
}
4

0 に答える 0