无法使用Cakephp中的隐藏输入提交表单
所以我有一个表单,它包含一个隐藏的输入无法使用Cakephp中的隐藏输入提交表单,php,cakephp-3.0,Php,Cakephp 3.0,所以我有一个表单,它包含一个隐藏的输入 <?= $this->Form->create(null, [ 'class' => '', 'templates' => 'Inspinia.form_basic']) ?> <?php echo $this->Form->control('name'); echo $this->Form->control('description', ['typ
<?= $this->Form->create(null, [ 'class' => '', 'templates' => 'Inspinia.form_basic']) ?>
<?php
echo $this->Form->control('name');
echo $this->Form->control('description', ['type' => 'text']);
echo $this->Form->control('chart_type', [ 'options' => $this->App->availableCharts() ] );
echo $this->Form->control('frequency', [ 'options' => ['monthly' => 'Monthly','quarterly'=>'Quarterly','snapshot' =>'Snapshot','monthly/quarterly' => 'Monthly/Quarterly'] ] );
echo $this->Form->control('public', [ 'options' => ['1' => 'Public','0' => 'Private'] ] );
// $this->Form->unlockField('deleted');
echo $this->Form->hidden('deleted',['value' => 0]);
?>
<?= $this->Form->button(__('Save'), ['class' => 'btn btn-sm btn-primary pull-right m-t-n-xs']) ?>
<?= $this->Form->end() ?>
我知道我可以通过这样做来绕过这个问题
$this->Form->unlockField('deleted');
但是我不想绕过Cakephp中的安全组件,那么有没有其他方法可以让Cakephp允许我提交这个隐藏字段
这是我的控制器没什么太多,但这里只是以防万一你们想知道
public function test() {
if ($this->request->is('post')) {
debug($this->request->data);
}
}
它应该如下所示
<?php
echo $this->Form->input('nameoffield',array('type'=>'hidden'));
?>
或者传递一个隐藏值
<?php
$hidden_value = 0;
echo $this->Form->input('nameoffield',array('type'=>'hidden','value' => $hidden_value));
?>
$this->Form->hidden('deleted')代码>或$this->Form->input('deleted',['type'=>'hidden'])
@DiéfaniFavaretoPiovezan我已经在那里有了echo$form->hidden('Model.name',array('value'=>'fieldvalue'))代码>看看这个,我复制了你的代码,它可以工作:如果我debug($this->request_data())
我看到这个字段。当然,中间没有其他代码了吗?另外,“文章中缺少字段”对我来说也不是一个错误。它到底是在哪里产生的?“阿里利亚没有中间代码,必须是环境问题,我现在检查它,使它看起来像那样,仍然给我同样的错误。”删除的“字段出现在您的表中吗?如果没有,请添加此字段
<?php
$hidden_value = 0;
echo $this->Form->input('nameoffield',array('type'=>'hidden','value' => $hidden_value));
?>