gpt4 book ai didi

php - 防止表单数据在 Codeigniter 中发送

转载 作者:可可西里 更新时间:2023-10-31 22:14:30 24 4
gpt4 key购买 nike

我是 Code Igniter 的新手(这是我正在学习的第一个框架)。

我在我的 Controller 中得到了这个:

   if ($this->form_validation->run() === FALSE)
{
$this->load->view('account/register', $data);
}
else
{
$data['message'] = $this->lang->line('account_created');
$this->register->insert_account();
$this->load->view('account/register_success', $data);
}

如果表单验证成功,它只会改变 View ,但仍然可以点击刷新按钮,并重新发送表单数据 - 这对我来说不是什么大问题,因为我正在检查字段是否正确独特的,但对我来说最好防止重新发送表单数据。

通常在干净的 PHP 中我会使用 header("Location: ..."); 但我在这里加载一个 View ,所以在重定向后将无法访问它 -不是吗?

你对此有什么建议吗?

最佳答案

您可以重定向到同一页面,但也可以在 session 库中使用 codeigniters flashdata。在表单提交上设置带有成功消息的 flashdata。重定向到与表单相同的页面并显示 flashdata 成功消息。通过重定向页面重新加载并防止刷新。

控制者

在表单成功时执行此操作

$this->session->set_flashdata("success", $strMessage);
redirect("account/register");

查看

这将在表单页面上显示一条成功消息

if($this->session->flashdata("success") !== FALSE)
{
echo "<div class=\"formSuccess\">" . $this->session->flashdata("success") . "</div>\n";
}

关于php - 防止表单数据在 Codeigniter 中发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9234255/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com