PHP 会话数据 -- Codeigniter -- Facebook API.


php session data -- codeigniter -- facebook api

我在将会话信息从一个函数传递到另一个函数时遇到问题。

public function xpto() {
       $this->load->library('session');
       $session_id = $this->session->all_userdata();
       $fb_pages = array(
            'fb_page' => $result_querypageidlink[0]['link']
       );
       $this->session->set_userdata($fb_pages);
       $this->load->library('fbconnect');
       $data = array(
            'redirect_uri' => site_url('main/handle_facebook_login_users'),
            'scope' => 'email, 
            user_birthday, 
            user_hometown, 
            user_location'
       );
   redirect($this->fbconnect->getLoginUrl($data));
}

在"redirect_uri"中调用的其他函数:

public function handle_facebook_login_users() {
$this->load->library('session');
$all_userdata = $this->session->all_userdata();

当我打印时,$all_userdata没有向我显示我添加的信息和xpto函数。出于某种原因,当我添加会话信息(xpto 函数)并且如果我打印(在函数中,已经存在 - 所以它正在工作)但当我在第二个函数中打印时,没有显示该信息。

像这样设置会话:

$this->session->set_userdata('fb_page', $fb_pages);

像这样检索:

$fb_page = $this->session->userdata('fb_page');

编辑:

public function xpto() {
       $this->load->library('session');
       $session_id = $this->session->all_userdata();
       $fb_pages = array(
            'fb_page' => $result_querypageidlink[0]['link']
       );
       $this->session->set_userdata('fb_pages', $fb_pages); #set the session
       $this->load->library('fbconnect');
       $data = array(
            'redirect_uri' => site_url('main/handle_facebook_login_users'),
            'scope' => 'email, 
            user_birthday, 
            user_hometown, 
            user_location'
       );
   redirect($this->fbconnect->getLoginUrl($data));
}

public function handle_facebook_login_users() {
    $this->load->library('session');                     #Load the session in the autoload.php
    $fb_pages   = $this->session->userdata('fb_pages');  #retrieve the session
}