在我的代码中,我试图在两个页面之间存储一个变量,但我要么得到一个字符串返回“images”或0 …或者没有 – 尝试投射它..回显在一个页面上工作并显示正确的数字但是一旦你点击视图到下一页 – 它失去了 – 我尝试在数据库中打开cs_sessions并没有任何区别
<?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'); } } ?>
我失去的变量是flappy-我更改了名称以查看是否存在问题
最后,我解决了这个问题.在SO中使用这个答案:
codeigniter setting session variable with a variable not working,我扫描我的js / css是否缺少资源.事实证明,我的thickBox.js引用了loadingAnimation.gif in,yes,images文件夹.这就是图像的来源.修复丢失的文件后,sesion变量工作正常.
不确定,为什么CI替换(可能)最后添加会话变量使用这个,但也许是因为CI没有使用$_SESSION全局变量. CMIIW.我使用这篇文章作为提示:http://outraider.com/frameworks/why-your-session-variables-fail-in-codeigniter-how-to-fix-them/