我正在使用codeigniter
并且有一个控制器,我在其中分配一些搜索条件以存储在会话中,如下所示:
$srchCriteria = array(
'stockCode'=>$this->input->post('srchScode'),
'qty'=>$this->input->post('srchQty'),
'class' => $this->router->fetch_class(),
'method' => $this->router->fetch_method(),
);
$this->session->set_userdata('srchCriteria',$srchCriteria);
根据此标准生成输出。现在,如果用户导航到此页面以外的其他页面,我需要清除此条件。即每次用户访问搜索页面时,除分页外,应清除搜索条件。为此,我检查了核心控制器中的类和方法变量,如下所示:
$srchCriteria = $this->session->userdata('srchCriteria');
$className = $this->router->fetch_class();
$methodName = $this->router->fetch_method();
if(!empty( $srchCriteria['class'] ) && !empty( $srchCriteria['method'] )){
if( ($srchCriteria['method'] != $methodName){
$this->session->set_userdata('srchCriteria',array());
}
}
但它不起作用请以正确的方式指导我。这里我的错误是什么?
答案 0 :(得分:0)
尝试使用$this->session->unset_userdata('srchCriteria');
代替$this->session->set_userdata('srchCriteria',array());