0

ある関数から別の関数にセッション情報を渡す際に問題があります。

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 関数) を追加し、印刷した場合 (関数内に既に存在するため、機能しています)、2 番目の関数で印刷すると、その情報が表示されません。

4

1 に答える 1

0

次のようにセッションを設定します。

$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
}
于 2013-10-04T11:54:12.940 に答える