我搞不清楚是怎么回事。我正在测试一个表单是否被这个代码提交;
if ($this->request->getMethod() === 'post')
{
}
我有一个表格,请参阅下面的表格,我正在使用Codeigniter 4;
<!-- show the form -->
<?php
$form = array(
'class' => 'form-control border-0',
);
?>
<?= form_open('Admin/post/post_update', $form); ?>
<?= $this->include('Admin/Post/_post_form.php') ?>
<!-- show buttons -->
<div class="form-group">
<button class="btn btn-primary">Save</button>
</div>
</form>
<!-- end form here -->
由于某种原因,当我选择提交按钮并回显时
它写的是'get'
。我本来想读的是'post'
。
我阅读了文档,但看不到任何地方,我可以说,使提交一个职位,而不是获得。
当我查看html时,它看起来是正确的,虽然如下所示;
<form action="https://development.example.com/Admin/post/post_create" class="form-control border-0" method="post" accept-charset="utf-8">
3条答案
按热度按时间uz75evzq1#
更改按钮并使用
<button type="submit" class="btn btn-primary">Save</button>
此外,正如前面的用户所说,检查HTML中是否存在
method="post"
。最后,您可以使用
$_SERVER['REQUEST_METHOD']
而不是getMethod()
并发布结果吗?af7jpaap2#
尝试按钮:
控制器:
46qrfjad3#
我也面临着和你一样的问题,$request-〉getMethod()说的是“GET”,而它应该是“POST”。
下面的代码对我很有效。它返回控制器上的“post”方法。
检视:
控制器:
如何测试getMethod(). redirect url会显示:
网站名称: