【发布时间】:2019-04-05 13:40:26
【问题描述】:
当用户提交表单时,我需要在同一页面上为他输出消息。
当我提交表单时,页面刷新,处理程序触发(php 函数),一些 POST 数据插入数据库,我设置 $this['success'] = 1,然后使用 Twig 检查:
{% if success %}
here is many tags with information and a message
{% else %}
here is a form
{% endif %}
但如果我按 F5 重新提交表单,插入查询会再次执行。
使用 AJAX 执行此请求不是一个真正的选择。
【问题讨论】:
-
您是在问如何在不重新加载页面的情况下提交表单?
-
不,我如何在同一页面上提交表单并输出消息(带有许多标签的块)。不使用 AJAX。
-
哦,好像我发现了。表单提交页面重新加载后,执行一个 PHP 函数,最后我设置 cookie 并重定向到该页面(现在发布请求消失了)。在
onStart函数中,我检查是否设置了该cookie,并将$this['success']设置为输出所需的带有消息的块(代码在上面)并取消设置cookie。 -
嗯,我不确定 cookie 是否可行,尤其是因为您需要在之后取消设置 cookie 等,您不能只使用 url 中的参数进行重定向。所以提交后你重定向到
http://yourwebsite.nl/submitpage?message=succes -
我使用带有请求参数的
form_open函数。{{ form_open({ request: 'onBook', url: 'booking?success=1' }) }}当我想获得 post('success') 时,会发生错误(偏移量 0)。我被困住了。
标签: laravel octobercms