如何在Codeigniter

时间:2018-06-06 13:55:11

标签: php codeigniter codeigniter-3

如何使用GET方法并将其路由到Codeigniter? 我有这个:

index.php?search_term=somestring

如何在控制器中获取搜索词值以及如何使URL清洁如下:

search/somestring

2 个答案:

答案 0 :(得分:1)

您可以使用get方法获取网址数据 像这样$this->input->get();

如果您想要清除网址,那么您应该路由您的网址

转到

  

应用/配置/ routes.php文件

$route['search/(:any)'] = "controller/function/$1";

您可以在控制器中使用此$this->uri->segment(2);

获取网址段

答案 1 :(得分:0)

尝试以下代码:

HTML:

<?=form_open(base_url(), array('id' => 'search'))?>
    <input type="text" class="form-control" placeholder="Keyword..." name="query" id="search_query">
    <button class="btn btn-default" id="btn-search" type="button">
        Search
    </button>
<?=form_close()?>

使用Javascript:

$("#btn-search").click(function(){
    var query = $("#search_query").val();
    window.location = '/search/'+query;
});

$('form#search').bind("keypress", function(e) {
    if (e.keyCode == 13) {
        e.preventDefault();
        var query = $("#search_query").val();
        return window.location = '/search/'+query;
    }
});

路线:

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

控制器:

public function search($keyword = null)
{
    if($keyword == null)
        redirect(base_url());
    else
    {
        $keyword = urldecode($keyword);
        $data = array(
            'category' => $this->Category_Model->search($keyword)
        );
        $this->load->view('search', $data);
    }
}