【发布时间】:2009-04-06 18:06:54
【问题描述】:
我的网站上有以下代码(使用 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,帖子数据仍然存在。
有什么想法吗?
【问题讨论】:
标签: php form-submit