1
我有一个联系我们表单和用户输入数据并提交它。该数据需要在控制器功能中访问,以便我可以向管理员发送邮件,通知最近收到的用户请求。cakephp3-无法将表格数据发布到控制器功能
但是当我按下提交按钮,没有任何反应。只需重新加载表单并将联系人表单(查看页面)显示给用户。我不知道为什么数据没有传递给控制器功能。
我是CakePHP框架的新手,我使用CakePHP3进行开发。
这里是我的形式:
<?php echo $this->Form->create(null, ['url' => ['controller' => 'Pages', 'action' => 'contactus']]); ?>
<div class="col-md-6">
<?php echo $this->Form->input('fname', ['placeholder' => 'Your name.' , 'id' => 'fname', 'required' => 'required']); ?>
</div>
<div class="col-md-6">
<?php echo $this->Form->input('mail', ['placeholder' => 'Your email.' , 'id' => 'mail', 'required' => 'required']); ?>
</div>
<div class="col-md-6">
<?php echo $this->Form->input('subject', ['placeholder' => 'Write something.', 'id' => 'subject']); ?>
</div>
<div class="col-md-9">
<?php echo $this->Form->button(__('Submit')); ?>
</div>
<?php echo $this->Form->end(); ?>
我的控制器功能是:
public function contactus()
{
$pages ='';
if ($this->request->is('post'))
{
$pages = $this->request->data('Contact');
}
$this->set(compact('pages'));
$this->set('_serialize', ['pages']);
}
谁能告诉我,我犯的错误?
我试过了,没有打印。我填写表单,然后单击“提交”按钮,但根据解决方案没有看到回显。它似乎像表单重新加载,没有别的。我只是看到再次联系我们。 @ bikash.bilz – Annabelle
表单提交时可能有错误的方法调用。使用蛋糕形式的帮手,我认为这会帮助你。你可以从这个链接跟进。 @Anna Belle https://book.cakephp.org/3.0/en/views/helpers/form.html –
或者至少在表格开始时使用 = $this-> Form-> create(null,array('url' => ['controller'=>'Logins','action'=>'login'],'id'=>'contact-form','class'=>'form-signin','inputDefaults'=> array ( 'label'=> false ))); ?> 并在表格中关闭使用= $this-> Form-> end()?> 不要写html表单标签,因为它会由cake自动创建。希望这会有帮助。 @安娜贝儿 –