Php Codeigniter URL问题!点击刷新会导致函数被执行!
可能重复:Php Codeigniter URL问题!点击刷新会导致函数被执行!,php,codeigniter,refresh,Php,Codeigniter,Refresh,可能重复: 我有一个名为submit的控制器: 基本上,它做了两件值得关注的事情: 验证表单()-它验证表单->然后提交到 数据库 success()-它加载一个页面,提供有关 上次操作成功 我的控制器工作正常,但在加载我的成功页面时有一个小问题。 如果点击“刷新”“成功”页面,由于某种原因,将导致我的validate_form()函数再次运行,从而导致相同的数据在数据库中重复 我想要的是,当用户进入“成功”页面时,他们可以随意多次点击“刷新”,并且不会调用任何函数等。 我在成功视图上的url
我有一个名为submit的控制器: 基本上,它做了两件值得关注的事情:
//Record ID = returned value
$record_id = $this->submit_model->create_record($completedstaffrows, $completedeventrows);
//if no value returned call failed function
if ($record_id == FALSE)
{
$this->failed();
}
//Submittal to database was successful
//Now call function to load success view
else
{
$this->success();
}
我的加载成功视图的功能:
public function success()
{
$page['page'] = 'success';
$this->load->view('template', $page );
}
你需要的是一个模式。提交表单后,将301重定向到同一页面,可能使用会话变量来了解数据是否有效,这将防止刷新时出现任何重复数据问题。您需要的是一个模式。提交表单后,将301重定向到同一页面,可能使用会话变量来了解数据是否有效,这将防止刷新时出现任何重复数据问题。好的,我尝试了重定向,但现在我遇到了一个问题,即我以原始方式传递的变量没有传递到视图,导致了错误(未定义)。如何使用重定向传递变量?您可以使用在请求之间存储/检索值。看看flashdata部分,它可以完成您需要的工作。好的,我尝试了重定向,但是我现在遇到了一个问题,我以原始方式传递的变量没有传递到视图,并且导致了一个错误(未定义)。如何使用重定向传递变量?您可以使用在请求之间存储/检索值。看看flashdata部分,它可以完成您需要的工作。