2016-07-14 68 views
0

我已將會話包含在自動加載中,並且它在所有其他位置都可以工作。 我在檢索會話變量時遇到問題,它返回空結果。雖然在控制器中我設置了會話,但它工作正常。
這裏是我設置它在其他條件代碼:Codeigniter:無法將會話變量值從一個控制器獲取到另一個控制器

class Controller_catagory extends CI_Controller 
{ 

    public function __construct() 
    { 
     parent::__construct(); 

     $this->load->model('generic_model'); 
     $this->load->model('backend/model_post'); 
     $this->load->model('backend/model_permissions'); 
    } 

    public function index($param1='',$param2='') 
    { 
     $id=$this->generic_model->getAllRecords('dramas',array(
      'drama_slug' => $param2),'drama_id','DESC'); 
     // print_r($id); 
     if (!empty($id)) 
     { 
      foreach ($id as $key) 
      { 
       $id = $key['drama_id']; 
      } 
     } 
     $data; 

     if (!empty($param1) && empty($param2)) 
     { 
      $data["page"] = 'frontend/includes/view_alldramas'; 


      $id = $this->generic_model->getAllRecords('channel',array('channel_slug' => $param1),'channel_id','DESC'); 

      if (!empty($id)) 
      { 
       foreach ($id as $key) 
       { 
        $id = $key['channel_id']; 
        $ch_slug= $data['ch_slug'] = $key['channel_slug']; 
        $this->session->set_userdata('ch_slug',$ch_slug); 
       } 
      } 

      $this->session->set_userdata('channel_capture',$id); 

      $data['dramas_pagination'] = $this->model_post->get_specific_channel_pagination(0,12,$id); 
      $data["get_dramas"]=$this->model_post->get_all_dramas(); 

      $data['channels'] = $this->generic_model->getAllRecords('dramas', array('channel_fk' => $id),'drama_id','DESC'); 
     } 
     else 
     { 
      // The id is printing right result 
      echo $id; 

      // Here i'm setting session, if i retrieve here its working 
      $this->session->set_userdata('drama_episode',$id); 

      $data['episodes_pagination'] = $this->model_post->get_specific_post_pagination(0,12,$id); 
      $data["get_episodes"]=$this->model_post->get_all_dramas(); 
      $data['dramas'] = $this->generic_model->getAllRecords('post',$arr = array(
      'dramas_fk' => $id),'id','DESC'); 
      $data["page"] = 'frontend/includes/view_allposts'; 

     } 

     $data['title'] = 'GLOBAL VIDEOS'; 
     $data['heading'] = 'Dramas List'; 
     $data["top"]  = 'frontend/includes/top_home'; 


     $this->load->view('frontend/index',$data); 
    } 
    } 

} 

現在,這裏是另一個類在那裏我試圖讓組會議的價值,但它不是檢索數據,我獲得空記錄。

注:我做同樣的事情與「channel_capture」,我成功地獲取其值

class Home extends CI_Controller { 

public function __construct() 
{ 
    $data = array(); 
    parent::__construct(); 


    $this->load->model('backend/model_post'); 
    $this->load->model('generic_model'); 
} 
public function ajax_posts() 
{ 
    $start= $_GET['start']; 

    // it gives empty result here don't know why 
    $id = $this->session->userdata('drama_episode'); 

    //prints nothing 
    echo "This key: ".$id; 

    $post_pagination=$this->model_post->get_specific_post_pagination($start, 12, $id); 
    var_dump($post_pagination); 
    $str=''; 
    $base_url=base_url(); 

    if (empty($post_pagination)) 
    { 
     return false; 
    } 

    foreach($post_pagination as $post) 
    { 

     $str.=   '<div class="col-lg-3 col-sm-6 col-md-4 epi_height" >'; 
     $str.=    '<a href='.$base_url.$post['slug'].'>'; 
     $str.=    '<img class="img-responsive" src='.$base_url.$post['thumbnail'].' alt="recent dramas" />'; 
     $str.=    $post['title']; 
     $str.=    '</a>'; 
     $str.=   '</div>';  

    } 
     echo $str; 
    } 
} 

回答

1

嘗試之前設置會話,如果其他條件,如:

$this->session->set_userdata('drama_episode',$id); 

你如果別人放在這裏,然後檢索它。

0

這樣做只是包括家庭會議庫和Controller_catagory控制器(如果你只是錯過了它)

public function __construct() 
{ 
    parent::__construct(); 

    $this->load->model('generic_model'); 
    $this->load->model('backend/model_post'); 
    $this->load->model('backend/model_permissions'); 
    $this->load->library('session'); 
} 
+0

對不起,我剛纔忘了說,我在自動加載包含會話 –

0

請做這些故障排除: -

  1. 內指數()函數中添加

    回聲$這個 - >會話級>用戶數據( 'drama_episode');死();

  2. 現在調用控制器我相信URL /類別。

  3. 希望你能看到正確的會話值。
  4. 內ajax_posts()函數打印整個會話

    的print_r($ _ SESSION);死();

  5. 調用URL訪問函數ajax_posts() 讓我知道你得到的輸出是什麼?

==================================== 或者檢查,你打電話之前函數ajax_posts(),你是否刪除了drama_episode的會話值?

+0

沒事做了這些: 1.沒有價值出現 4.我看到所有的會話變量但變量'drama_episode'爲空 –

+0

好的,情況是這樣的,你的會話沒有被設置。檢查這個條件語句是否正確。'if(!empty($ param1)&& empty($ param2))',你有**!**爲param1爲空並且爲param2爲空。檢查這是你需要什麼? –

+0

它如何在同一個控制器中顯示正確的會話值? –

相關問題