我正在使用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());
}
}
但它不起作用,请以正确的方式指导我。我的错误是什么?