I'm working on custom module and in my IndexController.php
I'd written this function to add user to database
public function addAction() {
if($this->getRequest()->getParam('name', '') == ''){
$this->_redirect('etech/user');
//die; or exit;
}
$form = $this->getRequest()->getParams();
$user = Mage::getModel('test/test');
foreach ($form as $key => $val){
$user->setData($key, $val);
}
try{
$user->save();
}catch(Exception $e){
print_r($e);
}
$this->_redirect('etech/user', array('msg'=>'success'));
}
I want to prevent users from accessing this url directly as www.example.com/index.php/etech/user/add/
. For this I'd made a check if($this->getRequest()->getParam('name', '') == ''){}
. The redirect is working well except the code in there keeps executing and user sees a success message which should not be seen. For this, I'd used old fashioned exit
or die
to stop executing the code then it doesn't even redirect.
What is the magento
way to handle it? Also, as I'm using getRequest()->getParams()
, it return both parameters either in get
or post
. Isn't any way out to get only post
parametrs?