表单验证类不能跟分页类存在於同一个控制器方法中?
Contrller代码public function search_form($page=0)
{
$this->load->library('session');
$this->load->helper(array('form', 'url'));
$this->load->library('form_validation');
$data['user_name']=$this->session->userdata('user_name');
$data['board_name']=$this->data_title_real;
$data['realname']=$this->data_title_index;
$data['title']=$this->data_title_search;
$data['description']=$this->data_description;
$data['more']=$this->data_more;
$this->form_validation->set_rules('search', '搜寻内容', 'required|trim|xss_clean|htmlspecialchars');
$this->form_validation->set_message('required', '<font color="red">对不起,%s栏位属於必填栏位,请重新检查。</font>');
$this->form_validation->set_error_delimiters('<div class="alert alert-error"><img src="img/error.png"> ', '</div>');
if ($this->form_validation->run() == FALSE)
{
$this->load->view('header_view',$data);
$this->load->view('search_view');
$this->load->view('footer_view');
}
else
{
if(!is_numeric($page)){
exit;
}
$this->load->model('Question_model');
$this->load->database();
//Pagination
$this->load->library('pagination');
$config['base_url'] = '/index.php/question/search_form/';
$config['total_rows'] = $this->Question_model->count_search($this->input->post('search'));
$config['per_page'] = 10;
$config['first_link'] = '第一页';
$config['last_link'] = '最後一页';
$config['full_tag_open'] = '<li>';
$config['full_tag_close'] = '</li>';
$config['cur_tag_open'] = '<li><a>';
$config['cur_tag_close'] = '</li></a>';
$config['num_tag_open'] = '<li>';
$config['num_tag_close'] = '</li>';
$config['next_link'] = '下一页»';
$config['prev_link'] = '«上一页';
$data['result']=$this->Question_model->search_question($this->input->post('search'),$page,$page+10);
$this->pagination->initialize($config);
$data['pagelink'] = $this->pagination->create_links();
//Pagination
$this->load->view('header_view',$data);
$this->load->view('searchResult_view',$data);
$this->load->view('footer_view');
}
}
问题所在::当进入搜索结果页面时,只要点击分页类产生出来的分页连结,又会回到一开始的搜索页面,估计跟表单验证类有关,要怎麽用简洁的方法解决? 如果是post 搜索,想这么分页麻烦点。
简单点用GET或者用url分段,
将get参数 存到翻页链接的segment loveinlove 发表于 2012-6-18 19:36 static/image/common/back.gif
如果是post 搜索,想这么分页麻烦点。
简单点用GET或者用url分段,
CI不是一开始就把$_GET初始化了吗,用参数带过去的话中文字符会被编码,变成类似%E5%90%B3%E8%BE%B0%E6%A8%BA的东西,SQL查询自然没结果了 貝殼 发表于 2012-6-18 20:30 static/image/common/back.gif
CI不是一开始就把$_GET初始化了吗,用参数带过去的话中文字符会被编码,变成类似%E5%90%B3%E8%BE%B0%E6%A ...
CI 不会处理 $_GET,如果你用的是 2.0.0 以上的版本的话。
另外,你如果用 GET 传参,URL编码是会自动解码的,这是 PHP 的特性。 Hex 发表于 2012-6-19 00:28 static/image/common/back.gif
CI 不会处理 $_GET,如果你用的是 2.0.0 以上的版本的话。
另外,你如果用 GET 传参,URL编码是会自动解 ...
安全不?有木有XSS問題? 貝殼 发表于 2012-6-19 17:20 static/image/common/back.gif
安全不?有木有XSS問題?
XSS要你自己处理,或者你打开全局 XSS 过滤。 Hex 发表于 2012-6-19 17:59 static/image/common/back.gif
XSS要你自己处理,或者你打开全局 XSS 过滤。
表单类form_open生成出的是POST,自己寫form也可以,就怕CSRF問題 貝殼 发表于 2012-6-19 18:52 static/image/common/back.gif
表单类form_open生成出的是POST,自己寫form也可以,就怕CSRF問題
CI 可以防 CSRF 攻击,前提是你用 form_open() Hex 发表于 2012-6-19 19:05 static/image/common/back.gif
CI 可以防 CSRF 攻击,前提是你用 form_open()
form_open()不能生成GET... 你用个bool变量保存一下结果好了 其实验证通过了 不用每次都验证了
页:
[1]
2