4

嗨,我是 cakephp 的新手,在调整时遇到了很多麻烦.. 这是我最大的问题..

我试图将一个参数传递给一个动作,它确实加载了,但是当我的脚本从控制器转到视图并再次返回控制器时,它就消失了。

控制器代码

 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();

}

查看代码(这是一个菜单,我现在只有一个按钮)

 <fieldset>

 <legend>SELECCIONE SU ALERTA</legend>

 <?php 

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

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

  echo $form->end();

  ?> 

  </fieldset>
4

3 回答 3

12

创建表单时,您不包含额外的 url 参数或字段作为输入。如果没有其中任何一个,参数将消失,因为它们不是新请求的一部分。您可以将其他参数附加到表单提交 url

$form->create('事件', 数组(
    'url' => 数组('something', 'somethingelse')
));

这将创建一个指向 的表单/events/add/something/somethingelse

于 2010-03-22T01:57:48.593 回答
0

您可能想尝试使用命名参数

我问了一个类似的问题,您可能会觉得有帮助:

cakephp 添加记录并修复了一些参数

于 2010-03-19T19:42:02.093 回答
0

我不喜欢使用一些帮助程序(如 $html)或一些方法(如 $form 的 create() 和 end())。我有点不明白你的问题,但我认为你可能必须向你实际进入的同一个 url 发出 POST 请求。

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

也许您应该进一步解释您要达到的目标。

于 2010-03-19T15:36:26.680 回答