IN控制器,
public function index($offset = 0)
{
$state= $this->input->post('state');
$city= $this->input->post('city');
$data = array(
'state' => $state,
'cities' => $city
);
$this->session->set_userdata($data);
$data['active']='Search';
$this->load->library('pagination');
$config['base_url']= site_url()."search/index/";
$config['total_rows']= 100;
$config['per_page'] = 5;
$config['num_links'] = 4;
$config['uri_segment'] = 3;
$config['full_tag_open'] = '<div class="pagination"><ul class="pagination">';
$config['full_tag_close'] = '</ul></div>';
$this->pagination->initialize($config);
$result = $this->mymodel->search($city,$state,$offset);
$data['pagination'] = $this->pagination->create_links();
$data['search_result']=$this->build_result_html();
$this->load->view('search',$data);
}
在视图分页显示正常,但是,
点击分页链接,会话总是过期
请帮帮我吧
谢谢。
您可以使用get代替post来获取数据。这样你就不需要为它创建一个会话。
你的控制器变成了这样的东西。
public function index($offset = 0)
{
$state= $this->input->get('state');
$city= $this->input->get('city');
$this->load->library('pagination');
$config['base_url']= site_url()."search/index/";
$config['total_rows']= 100;
$config['per_page'] = 5;
$config['num_links'] = 4;
$config['uri_segment'] = 3;
$config['full_tag_open'] = '<div class="pagination"><ul class="pagination">';
$config['full_tag_close'] = '</ul></div>';
$this->pagination->initialize($config);
$result = $this->mymodel->search($city,$state,$offset);
$data['pagination'] = $this->pagination->create_links();
$data['search_result']=$this->build_result_html();
$this->load->view('search',$data);
}
如果你搜索你需要添加一个属性到表单method="get"
try this
$state= $this->input->post('state');
$city= $this->input->post('city');
if(!empty($city) && !empty($state) ){
$this->session->set_userdata('state',$state);
$this->session->set_userdata('cities',$city);
}
i try on my local
$state= 'asdasd';
$city= 'asdasd';
if(!empty($city) && !empty($state) ){ // if its having value then set session
$this->session->set_userdata('state',$state);
$this->session->set_userdata('cities',$city);
}
print_r($this->session->userdata);
输出
Array ( [session_id] => 2c717eb44e99fb1def09af56250aa5bc [ip_address] => 127.0.0.1 [user_agent] => Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.152 Safari/537.36 [last_activity] => 1396079813 [user_data] => [id] => 2 [name] => [state] => sadfasd [cities] => fddsfdf )
没有值
$state= '';
$city= '';
if(!empty($city) && !empty($state) ){ // if its having no value then still value of session is same
$this->session->set_userdata('state',$state);
$this->session->set_userdata('cities',$city);
}
print_r($this->session->userdata);
输出
Array ( [session_id] => 2c717eb44e99fb1def09af56250aa5bc [ip_address] => 127.0.0.1 [user_agent] => Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.152 Safari/537.36 [last_activity] => 1396079813 [user_data] => [id] => 2 [name] => [state] => sadfasd [cities] => fddsfdf )