Форма Codeigniter, страница перенаправления при отправке - PullRequest
0 голосов
/ 31 октября 2011

Я создал поисковую форму, которую я хочу переслать при отправке.

Способ, которым он должен работать, заключается в том, что пользователь вводит термин / ключевое слово, которое он хочет найти, форма затем пересылает его на / search / $ keyword

Мои исследования позволили мне сделать вывод, что форму необходимо отправить контроллеру, а затем выполнить пересылку оттуда.Но я пробовал много раз и не могу заставить его переслать.

Вот форма:

<?php echo form_open('search'); ?>
            <input id="search_text" name="searchquery" type="text" value="enter your search here..." onfocus="if(this.value == 'enter your search here...') this.value='';" onblur="if(this.value == '') this.value='enter your search here...';" maxlength="120" >
       <?php echo form_close();?>

И контроллер:

if($this->input->post('searchquery')){
 redirect('search', $this->input->post('searchquery'));
}

Ответы [ 2 ]

2 голосов
/ 31 октября 2011

изменить эту строку:

redirect('search', $this->input->post('searchquery'));

до:

redirect('search/' . $this->input->post('searchquery'));

В вашем вызове перенаправления вторым параметром является «метод» перенаправления, поэтому ваше перенаправление не работает. что вы хотите, это что-то вроде этого:

redirect('search/my+search+term');

Именно поэтому мы выполняем конкатенацию строк вместо передачи поискового термина во второй параметр.

1 голос
/ 31 октября 2011

Попробуйте вместо этого.

if($this->input->post('searchquery')){
 redirect('search/'.$this->input->post('searchquery'));
}

Вы неправильно использовали метод перенаправления. Вот выдержка из документации.

Необязательный второй параметр позволяет выбирать между метод "location" (по умолчанию) или метод "refresh". Расположение быстрее, но на серверах Windows это иногда может быть проблемой

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