0
我使用codeigniter
并在其中我给你一些搜索条件的将被存储在会话这样的控制器:笨URI /路由器检查
$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());
}
}
但它不起作用,请引导我以正确的方式。我在这里犯了什么错误?
都尝试过,但没有结果。我的问题是检查如果循环。它总是清除。不知道问题 – 2012-08-13 07:36:24
你确定问题出在这个“IF”吗?尝试'echo'我在if行中的1234行;'echo'会话中的方法名是'。$ srchCri ['method'];'echo'方法名var是'。$ methodName;'IF ; – TigerTiger 2012-08-13 07:47:49
是的,我回应了它。当有exit关键字时,当exit被注释时,它可以正常工作,并且如果我们检查它是否相等,它总是进入循环,而在其他情况下它不会进入循环。比较$ this-> router-> fetch_class()有什么问题吗? – 2012-08-13 12:45:53