【发布时间】:2016-03-25 13:04:26
【问题描述】:
我只需要在页面上显示一些数据 20 分钟。为此,我在 codeigniter 中使用 tempdata
实际上临时数据是一个会话数据,我使用mark_as_temp 方法将其标记为临时数据
这是我的代码
public function final_result()
{
//make the session data as tempdata
$this->session->mark_as_temp(
array('hotel_basic','user_ht_bk_data','hotel_info','hotel_search_query','booking_response','ht_star_rating','each_rooms'),1200
);
//after marking as tempdata destroy the original sessiondata
$this->session->sess_destroy();
//read from the tempdata
$data['result']=$this->session->tempdata('user_ht_bk_data');
$this->view('final-view',$data);
}
但是$data['result'] 会返回空值。
根据 codeigniter 文档sess_destroy() 永远不要删除临时数据。
但在我的情况下,tempdata 在执行 session_destroy 时被删除
【问题讨论】:
-
您使用哪个版本 - 在当前文档中表示:值过期或会话过期或被删除后,该值会自动删除。看@:codeigniter.com/user_guide/libraries/sessions.html#tempdata 所以如果你销毁会话,值将被删除
-
@shammon 啊,你在运行 PHP 7 吗?
标签: php codeigniter session