2010-09-17 7 views
5

Ho il seguente codice, che funziona bene sul sito live, ma non su localhost.getRequest di Zend framework() -> getQuery() non porterà la stringa di query su localhost

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

Ho un URL simile a questo:

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

ho stampato il valore di status, che è sempre pari a zero. Sono nuovo nel framework Zend e non sono riuscito a trovare una soluzione a questo in rete, mi sembra strano. qualche idea? Grazie.

[FISSO]

ho avuto RewriteRule male che ha causato il problema. C'era un "non voluto"? dopo index.php nella riga RewriteRule. È stato un mio errore l'ho aggiunto, perché altri framework come l'utente di CodeIgniter "?" in RewriteRules. La linea RewriteRule corretto è:

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

Mi chiedo se posso scegliere questa risposta accettata .. :-)

+0

si arriva al controller azione? .htaccess sta funzionando? solo il parametro è nullo? –

+0

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

risposta

4

Io di solito utilizzare questo

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

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

Presumo che hai un Domande Controller Chiedi azione.

+0

Elzo, l'ho provato, ottengo sempre modulo, controller, azione, ecc., Ma non query stringhe. Funziona come dovrebbe essere in diretta, solo localhost ha problemi. Mi manca qualche configurazione del framework? – pMan

+0

ha uno strano routing in atto? o altre impostazioni che dipendono dall'AMBIENTE? –

+0

var_dump dell'oggetto richiesta. se la variabile di stato è nella url dovrebbe apparire anche lì. –

2

Per coloro che cercano la soluzione per ZF2 - guarda questo post, mi ha aiutato in modo drammatico. Esso comprende anche il riferimento a un plugin fenomenale per rendere questo più facile (come per lo meno, a capire le rotte/richieste/params, ecc ...)

Getting $_GET parameters from route in Zend Framework 2

Inoltre, in questo post SO inviare

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

Insomma, tho -

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