我已经尝试过在该论坛和其他论坛上发布的几种解决方案,但到目前为止还没有帮助。所以,我最后发表了我的问题。顺便说一句,我正在使用CakePHP 3.6。
我正在尝试通过$product->id
中的“提交”按钮将变量(view.ctp
)传递给控制器动作“ addit”,但是我只是得到“ Undefined variable:id”(我尝试过{{1 }}和addit($id)
两种情况下我的结果相同。)
view.ctp
addit()
控制器:产品
<p>
<?php echo $this->Form->create('NULL',['url'=>['controller'=>'products','action'=>'addit']]);?>
<?php echo $this->Form->input('id', ['type' => 'hidden', 'value' => $product->id]); ?>
<?php echo $this->Form->button('Add to cart now');?>
<?php echo $this->Form->end();?>
</p>
答案 0 :(得分:1)
根据Cakephp 3.6
可以使用以下命令访问所有POST数据 Cake \ Http \ ServerRequest :: getData()。包含数据的任何表单数据 prefix将删除该数据前缀。例如:
// An input with a name attribute equal to 'MyModel[title]' is accessible at
$title = $this->request->getData('MyModel.title');
您可以像这样获得$ id变量的值:
$id = $this->request->getData('id');
进一步阅读:Request Body Data
答案 1 :(得分:0)
这是您想要做的吗?
$id = $this->request->getData('id');
debug($this->Products->get($id)); //for test