вопрос про CodeIgniter URL - PullRequest
       3

вопрос про CodeIgniter URL

0 голосов
/ 17 июля 2011

Я использую приложение (блог), написанное с использованием платформы CodeIgniter, и хотел бы выполнить поиск в моем блоге из строки местоположения моих браузеров, добавив строку в конец URL моего блога, например:

http://mysite.com/blog/index.php/search...

Как вы можете видеть в приведенном выше примере, я не совсем уверен, как отформатировать оставшуюся часть URL-адреса после поисковой части, поэтому я надеюсь, что кто-то здесь сможет указать мне правильное направление.

Так выглядит форма для окна поиска, если это вообще помогает.

form class="searchform" action="http://mysite.com/blog/index.php/search" method="post">
  <input id="searchtext" class="search_input" type="text" value="" name="searchtext">
  <input type="submit" value="Search" name="Search">
</form>

Спасибо, Марк

Ответы [ 2 ]

0 голосов
/ 17 июля 2011

Похоже, вы обсуждаете два разных подхода.Если вы хотите сделать запрос к mysite.com/blog/index.php/search&q=what_I_am_looking_for

Это будет вызывать метод по умолчанию для контроллеров поиска (по умолчанию это index).Если вы хотите использовать URL для передачи таких параметров, вы должны перейти к своей функции в поисковом контроллере и выполнить: print_r ($ this-> input-> get ('q'));

Это будетраспечатайте "what_am_I_looking_for".

На мой взгляд, более простым подходом было бы: 1. Создать представление под названием "search_view" с HTML-содержимым, которое вы вставили выше, и иметь форму "action" http://www.mysite.com/blog/index.php/test/search

  1. Создайте контроллер под названием «Тест», который выглядит следующим образом:

    class Test extends CI_Controller {
    
    function search()
    {
        $search = $this->input->post('searchtext');
        print_r($search);
    }
    
    public function display_search()
    {
        $this->load->view('search_view');
    }
    }
    
  2. Посетите http://www.mysite.com/blog/index.php/test/display_search в своем браузере.Это должно представить вам форму, которую вы поместили в search_view.php.Как только форма отправлена, вы должны быть отправлены в функцию поиска и распечатать переменную $ search, которая будет иметь любой текст, который вы отправили в этой форме.

Если это не такто, что вы искали, то, боюсь, я не понимаю вашего вопроса.

0 голосов
/ 17 июля 2011

Поскольку ваша форма отправляется на http://mysite.com/blog/index.php/search, Я предполагаю, что функция по умолчанию для этого контроллера поиска - это та, на которую вы пытаетесь отправить свои данные. Я думаю, что самый простой способ сделать это - просто получить данные поста в методе контроллера, который вы публикуете. Пример:

function search()
{    
     $search_params = $this->input->post('search_text');
}

Тогда у вас будет все, что пользовательский ввод хранит как $ search_params, и вы можете выполнять действия оттуда. Я неправильно понимаю, что вы спрашиваете?

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