我的网站上有以下代码(使用 php 和 smarty)来尝试避免在按 f5 时重新提交表单:
if ($this->bln_added == false) {
if (isset($_POST['submit'])) {
$this->obj_site->obj_smarty->assign('title', $_POST['tas_heading']);
$this->obj_site->obj_smarty->assign('desc', $_POST['tas_description']);
}
} else {
$this->obj_site->obj_smarty->assign('title', '');
$this->obj_site->obj_smarty->assign('desc', '');
unset($_POST);
}
bln_added 默认为 false,但一旦表单提交成功后变为 true。smarty 变量 title 和 desc 在模板中用于保留表单内容,以防出现用户错误并且他们需要更改输入的内容。
如果表单提交成功,它设置bln_added = true,所以第二段代码不仅要清除表单字段,还要清空$_POST。但是,如果我按 f5,帖子数据仍然存在。
有任何想法吗?