Codeigniter 自定义 url 字符串

Codeigniter custom url string

我是 codeigniter 的新手,我正在制作一个医生网站,需要允许用户使用 http://www.mywebsite.com/newyork 之类的简单 url 来搜索医生。所以这个 url 不会没有任何 class,因为可以有许多状态,并且不能为每个状态都有 class。我应该在路由脚本中更改 404 覆盖吗?或者有更好的实现方式

$route['(:any)']='search/check_state';

如果我使用上面的路由,那么 /login 等其他页面不会 work.Please 帮助

试试看

$route['search/check_state/:any'] ='search/check_state';

创建包含所有状态的数据库并按此方式进行

里面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
    }
}