2013-04-27 7 views
0

У меня есть следующая цитата:PHP вопрос Получить Форма

<form class="searchform" name="search" id="search" action="<?php echo base_url();?>video/search" method="get" > 
       <input type="text" name="search_key" onblur="if (this.value == '') {this.value = 'Search video';}" onfocus="if (this.value == 'Search video') {this.value = '';}" value="<?php if(isset($search_key))echo $search_key;else echo 'Search video';?>" class="searchfield" onKeyPress="return submitenter(this,event)"> 
     </form> 

страница URL выглядит следующим образом после поиска - например:

mypage.com/video/search?search_key=blabla 

и код, который я использую, чтобы показать off:

<?php echo $_GET["search_key"]; ?> 

но это не работает, и я не понимаю, почему.

Невозможно создать -blabla- на странице.

+1

Является 'mypage.com/видео/search' PHP-файл? – Sean

ответ

0

Ваш action в form тега должен быть PHP-файл, как myphp.php, то вы можете использовать $_GET[ [ "SEARCH_KEY ']; at myphp.php` для получения.например

action="<?php echo base_url();?>video/search/myphp.php" 

затем URL хотел mypage.com/video/search/myphp.php?search_key=blabla

0

Посмотрите, есть ли какие-либо значения в супер глобальном $_GET, используя var_dump($_GET), который выведет на экран не очень красивую строку объекта.

Также попробуйте переменные $_REQUEST и $GLOBALS и посмотрите, есть ли у них какие-либо значения, выполняя то же, что и выше.

Если они не показывают свою ценность, вам может потребоваться принудительно установить enctype в форме так PHP знает, что он может взять Query String (текст с ? года) или данные POST в супер глобалов. enctype вы хотите использовать application/x-www-form-urlencoded который meant to be the default value, но на всякий случай, установите его.

С его помощью устанавливается, ваша форма будет выглядеть

<form class="searchform" name="search" id="search" action="<?php echo base_url();?>video/search" method="get" enctype="application/x-www-form-urlencoded"> 
    <input type="text" name="search_key" onblur="if (this.value == '') {this.value = 'Search video';}" onfocus="if (this.value == 'Search video') {this.value = '';}" value="<?php if(isset($search_key))echo $search_key;else echo 'Search video';?>" class="searchfield" onKeyPress="return submitenter(this,event)" /> 
</form> 

Super Globals

Кроме того, только в случае, если вы пропустили его, ваш input тег нужен / перед закрытием >, как /> иначе это не действительная разметка.

0

Если отображается URL-адрес /search?search_key=blabla, попробуйте использовать $_POST и поймайте с помощью print_r($_POST), потому что метод формы по умолчанию на CI использует сообщение.

+0

спасибо, jszumski. Я новичок на этом сайте. : D – dhidy

0

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

перейти к 1) приложение/Config/config.php 2) установить строки запроса опции истинного

Ex. $ config ['enable_query_strings'] = true;

чем вы можете получить $ _GET [ "SEARCH_KEY"]

другого мудрого значения посыла как

mypage.com/video/search/blabla 

вы получите "BlaBla" в первой perameter функции поиска в контроллере cideo.