2010-09-17 9 views
5

Tengo el siguiente código, que funciona bien en el sitio en vivo, pero no en el host local.Zend framework getRequest() -> getQuery() no traerá cadena de consulta en localhost

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

que tienen una URL como esta:

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

que imprime el valor de estado, que siempre es nula. Soy nuevo en el framework Zend y no pude encontrar una solución para esto en la red, me parece extraño. ¿Alguna idea? Gracias.

[FIJO]

tuve RewriteRule mal que causó el problema. Hubo un "no deseado"? después de index.php en la línea RewriteRule. Fue mi error el que agregué esto, porque otros frameworks como el usuario de CodeIgniter '?' en RewriteRules. La línea de RewriteRule corregido es:

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

Me pregunto si puedo elegir esta respuesta como aceptada .. :-)

+0

se obtiene al controlador de la acción? .htaccess está funcionando? solo el parámetro es nulo? –

+0

ZF2 funciona '$ post = $ this-> getRequest(); $ productid = mysql_real_escape_string ($ post-> getQuery ('productid')); ' – YumYumYum

Respuesta

4

que suelo utilizar este

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

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

Asumo que usted tiene una serie de preguntas Controlador Pregunta Acción.

+0

Elzo, lo intenté, siempre obtengo el módulo, el controlador, la acción, etc., pero no las cadenas de consulta. Esto funciona como debería ser en vivo, solo localhost tiene problemas. ¿Me estoy perdiendo alguna de las configuraciones de framework? – pMan

+0

tiene alguna ruta extraña en su lugar? u otras configuraciones que dependen del MEDIO AMBIENTE? –

+0

var_dump el objeto de solicitud. si la variable de estado está en la url, debería aparecer allí también. –

2

Para aquellos que buscan la solución a ZF2 - mira esta publicación, me ayudó dramáticamente. Además, incluye la referencia a un plugin fenomenal para hacer esto más fácil (como mínimo, en la comprensión de las rutas/peticiones/params, etc ...)

Getting $_GET parameters from route in Zend Framework 2

También, en este post para publicar

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

En resumen, aunque -

$this->getRequest()->getRequest('name', 'default'); 
    $this->getEvent()->getRouteMatch()->getParam('name', 'default');