我是codeigniter的新手,我正在制作一个医生网站,并且需要允许用户使用像http://www.mywebsite.com/newyork之类的简单网址搜索医生。所以这个网址没有任何类,因为可能有很多州和州不能为每个州提供课程。我应该在路线脚本中更改404覆盖吗?或者有更好的方法来实现它
$route['(:any)']='search/check_state';
如果我使用上面的路由,那么像/ login这样的其他页面也不起作用。请帮助
答案 0 :(得分:0)
试了一下
$route['search/check_state/:any'] ='search/check_state';
答案 1 :(得分:0)
创建包含所有状态的数据库并以这种方式执行
在search / check_state里面
// Get state from URL
$state = $this->uri->segment(1, "");
// Make sure state is not null and its found in database
if($state <> "" && $this->validateState($state)){
// Valid state, continue
}else{
// Give error message / redirect to 404 page
}
向控制器添加新功能
function validateState($state){
// If database contains $state then return true else return false
}
<强>更新强>
您也可以使用POST表单。
将表单放入用户提供输入详细信息的页面
echo form_open(base_url().'path_to_post_validation');
// make form here that sends "state" into page that handles validation
echo form_close();
处理POST验证
// Make sure user has send POST request
if($this->input->post()){
// Set form validation rules
$this->form_validation->set_rules('state', 'state', 'required|trim|xss_clean');
// Run form validation
if ($this->form_validation->run() == TRUE){
// Store state into variable
$state = $this->input->post('state');
// Check database that it contains $state and then continue or give error message
}
}