0

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

しかし、それはうまくいきません。正しい方法で私を導いてください。ここで私の間違いは何ですか?

4

1 に答える 1

0

$this->session->unset_userdata('srchCriteria');代わりに試してください$this->session->set_userdata('srchCriteria',array());

于 2012-08-13T07:23:46.053 に答える