codeigniter uri/路由器检查

codeigniter uri/路由器检查,codeigniter,session,uri,Codeigniter,Session,Uri,我使用的是codeigniter,有一个控制器,我在其中分配了一些搜索条件以存储在会话中,如下所示: $srchCriteria = array( 'stockCode'=>$this->input->post('srchScode'), 'qty'=>$this->input->post('srchQty'), 'class' => $this->router->fetch_class(

我使用的是
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);    
并根据该标准生成输出。现在,如果用户导航到此页面以外的其他页面,我需要清除此条件。i、 e每次用户访问搜索页面时,应清除搜索条件(分页除外)。为此,我检查了core controller中的类和方法变量,如下所示:

$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());
    }
}

但它不起作用,请用正确的方式引导我。我的错误是什么?

尝试
$this->session->unset_userdata('srchCriteria')
而不是
$this->session->set_userdata('srchCriteria',array())

尝试过,但没有结果。我的问题是检查if循环。天气总是晴朗的。不知道问题所在如果
,是否确定问题出在此
中?尝试
echo“我在1234行的IF块中”
echo'会话中的方法名称为'.$srchCri['Method']
echo'方法名称变量为'.$methodName在IF内;是的,我重复了。当有exit关键字时,当exit被注释时,如果我们检查是否相等,它总是进入循环,而在其他情况下,它不会进入循环。比较$this->router->fetch_class()是否有问题?如果($srchCriteria['method']!=$methodName){……。这里没有右括号?