views:

199

answers:

1

Hello guys !

I'am trying to retrieve an parameter passed in a url using the zend framework. But of course, it is not working ! My code looks like this :

Generating the url :

<?php echo $this->url(array('controller' => 'poll', 'action' => 'showresults', 'poll_id' => $poll['_id']), null, true) ?>

Retrieving the "poll_id" parameter in showresultsAction() :

 $request = new Zend_Controller_Request_Http();
 $poll_id = $request->getParam('poll_id');

The problem is that $poll_id is NULL. When I do a var_dump of $request->getParams(), it is also NULL. I have glanced trough the Zend Framework doc, but it was not very usefull. Any idea ? Thanks !

+4  A: 

Instead of:

$request = new Zend_Controller_Request_Http();
$poll_id = $request->getParam('poll_id');

Try:

$request = $this->getRequest(); //$this should refer to a controller
$poll_id = $request->getParam('poll_id');

Or:

$poll_id = $this->_getParam('poll_id'); //$this should refer to a controller

The Zend Framework automagically attaches the request object to a controller.

Benedict Cohen
Good catch! Thinking about it now, I imagine instantiating it a second time is a bad idea. >.> [thwaps self]
pinkgothic
Thank you. You were spot-on!
ismaelsow