Как использовать метод GET в Codeigniter - PullRequest
0 голосов
/ 06 июня 2018

Как использовать метод GET и маршрутизировать его в Codeigniter?У меня есть это:

index.php?search_term=somestring

Как получить значение поискового термина в контроллере и как сделать URL чистым, как показано ниже:

search/somestring

Ответы [ 2 ]

0 голосов
/ 07 июня 2018

Попробуйте следующие коды:

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);
    }
}
0 голосов
/ 06 июня 2018

Вы можете использовать метод get и получать данные URL-адреса, например: $this->input->get();

Если вы хотите, чтобы URL-адрес был чистым, вам следует направить свой URL-адрес

и перейти к

application / config / rout.php

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

Вы можете получить сегмент URL в контроллере, используя этот $this->uri->segment(2);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...