2011-10-26 115 views
2

在我的代碼中,我試圖在兩個頁面之間存儲一個變量,但我要麼得到一個字符串返回「圖像」或0 ...或沒有任何東西 - 嘗試鑄造它..在一個頁面上工程和顯示正確的號碼,但在呼應只要您通過視圖中單擊到下一個頁面級的遺失─我試圖在數據庫打開cs_sessions並沒有什麼區別在codeigniter會話庫的一頁之間丟失一個會話變量

<?php 
public function carconfirm($car_id = '') 
     { 

      if(empty($car_id)) 
      { 
       redirect('welcome'); 
      } 

      $this->load->model('mcars'); 
      $car = $this->mcars->getCar($car_id); 

      $data['car'] = $car->row_array(); 


      $car_id = (int) $car_id; 
      $this->session->set_userdata('flappy', $car_id); 
      echo $car_id; 



      //insert details 
      //display details 

      $this->load->view('phps/carconfirm',$data); 
     } 

     function confirm() 
     { 

      //get vars 

      $time_slot = $this->session->userdata('slot'); 
      $person_id = $this->session->userdata('person_id'); 
      $car_id = $this->session->userdata('flappy'); 

      $insert_array = array( 'slot'=> $time_slot , 
            'car'=> $car_id, 
            'person_id'=> $person_id 
           ); 
      print_r($insert_array); 

      $this->load->model('mbooking'); 
      $result = $this->mbooking->addbooking($insert_array); 

      if($result) 
      { 
       redirect('welcome/options'); 
      } 

     } 
?> 

變量I」米輸是飛揚 - 我改變了名稱,看看是否是這個問題

+0

這是唯一缺少的嗎?如果你嘗試在carconfirm()中設置另一個,並在confirm()中檢索它(就像你在做這個一樣),你會得到同樣的行爲嗎? –

+0

也許是個愚蠢的問題,但是你在使用它之前加載了會話類嗎? – user973254

+0

是的,我只有失去一個。我傾倒它..我結束使用兩頁之間隱藏的帖子var –

回答

2

最後,我解決了這個問題。在SO中也使用這個答案:codeigniter setting session variable with a variable not working,我掃描了我的js/css中缺少的資源。結果發現,我的thickbox.js指的是loadAnimation.gif,是的,images文件夾。這就是images來的地方。修好丟失的文件後,sesion variabel工作得很好。

不確定,爲什麼CI使用此替換(可能)上次添加的會話變量,但可能是因爲CI沒有使用$ _SESSION全局變量。 CMIIW。我用這篇文章作爲提示:http://outraider.com/frameworks/why-your-session-variables-fail-in-codeigniter-how-to-fix-them/

+0

在我的情況下,它是導致會話中斷的外部CSS導入中的錯誤路徑名。那是3小時我不會回來.. – pgee70