2010-09-17 2 views
5

У меня есть следующий код, который отлично работает на реальном сайте, но не на localhost.getRequest() -> getQuery() не будет выводить строку запроса на localhost

$status = $this->getRequest()->getQuery('status'); 

У меня есть URL, как это:

http://localhost:888//questions/ask?status=10 

я напечатал значение статуса, который всегда равен нулю. Я новичок в платформе Zend и не могу найти решение для этого в сети, выглядит странно для меня. Есть предположения? Спасибо.

[FIXED]

Я был неправильно RewriteRule, вызвавший проблему. Было нежелательное «?» после index.php в строке RewriteRule. Это была моя ошибка, я добавил это, потому что другие среды, такие как пользователь CodeIgniter '?' в RewriteRules. Скорректированная RewriteRule линия:

RewriteRule ^(.*)$ /index.php/$1 [L] 

Интересно, могу ли я выбрать этот, как общепринятый ответ .. :-)

+0

вы получите в контроллер действий? .htaccess работает? просто параметр имеет значение null? –

+0

ZF2 работает '$ post = $ this-> getRequest(); $ productid = mysql_real_escape_string ($ post-> getQuery ('productid')); ' – YumYumYum

ответ

4

Я обычно использую этот

$status = $this->getRequest()->getParam('status'); 

// or 
$status = $this->getRequest()->getParams(); 

я предполагаю, что у вас есть вопросы Контроллер спросит действие.

+0

Elzo, я пробовал это, я всегда получаю модуль, контроллер, действие и т. Д., Но не строки запроса. Это работает так, как должно быть на живом, только у localhost есть проблемы. Мне не хватает какой-либо конфигурации фреймворка? – pMan

+0

есть какая-то странная маршрутизация? или другие настройки, зависящие от ОКРУЖАЮЩЕЙ СРЕДЫ? –

+0

var_dump объект запроса. если переменная статуса находится в URL-адресе, она также должна появиться там. –

2

Для тех, кто ищет решение для ZF2 - посмотрите на это сообщение, помог мне резко. Он даже включает в себя ссылку на феноменальный плагин, чтобы сделать это проще (как минимум, в понимании маршрутов/запросы/Params, и т.д ...)

Getting $_GET parameters from route in Zend Framework 2

Кроме того, в этом посте SO размещать

How to access route, post, get etc. parameters in Zend Framework 2

Короче говоря, Тхо -

$this->getRequest()->getRequest('name', 'default'); 
    $this->getEvent()->getRouteMatch()->getParam('name', 'default'); 
Смежные вопросы