2011-10-26 64 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