开发者

CakePHP passing parameters to action

Hi im kinda new in cakephp and having a lot of trouble adjusting.. Here's my biggest problem ..

Im trying to pass a parameter to an action, it does load, but when my script goes from the controller to the view, and goes back to the controller again, its gone.

CONTROLLER CODE

 function add($mac = 0)
{


if(isset($this->params['form']['medico'])) 
{

 $temp= $this->Person->find('first', array('conditions' => array('smartphones_MAC' => $mac)));
 开发者_开发技巧$id= $temp['Person']['id'];

$this->Union->set('events_id', $id+1);
$this->Union->set('people_id', $id);
$this->Union->save();

}

VIEW CODE (This is a menu, i only have one button right now)

 <fieldset>

 <legend>SELECCIONE SU ALERTA</legend>

 <?php 

  echo $form->create('Event'); 

  echo $form->submit('EMERGENCIA MEDICA',array('name'=>'medico')); 

  echo $form->end();

  ?> 

  </fieldset>


When you create the form you don't include the additional url parameters or the fields as inputs. Without either of these the parameters will vanish as they are not part of the new request. You can append additional parameters to the form submission url with

$form->create('Event', array(
    'url' => array('something', 'somethingelse')
));

This will create a form that points at /events/add/something/somethingelse.


I'm no big fan of using some helpers (like $html) or some methods (like $form's create() and end()). I kinda didn't get your problem, but I think it might be that you have to make a POST request to the same url you are actually into.

<form method="GET" action="<?=$this->here ?>">

Maybe you should give a further explanation of what you are trying to achieve.


You might want to try using named parameters.

I asked a similar question which you might find helpful:

cakephp adding record with some parameters fixed

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜