Yii防止在刷新时从上传的文件中重新插入数据到数据库

时间:2013-06-29 13:42:01

标签: php yii

我有一个上传表单,我上传csv文件,然后将所有行插入数据库。如果我点击刷新,则会将所有内容一次又一次地插入到数据库中。防止这种情况的最佳方法是什么?

非常感谢! BR

2 个答案:

答案 0 :(得分:2)

防止此行为的最佳方法是使用重定向来显示着陆页。进行重定向后,浏览器历史记录会在发布操作后记录另一个URL。在Yii中,您可以通过从控制器执行以下操作来实现此目的。

 $this->redirect("../path/to/action");

答案 1 :(得分:1)

您可以将隐藏的输入元素添加到包含唯一ID的表单:

<input type="hidden" name="random" value="4b3403665fea6">

如果将此值存储在数据库中,则可以确保不会使用相同的唯一ID上载CSV文件(刷新后)。

可以使用内置PHP函数uniqid()

生成唯一ID