2

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

非常感谢!BR

4

2 回答 2

2

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

 $this->redirect("../path/to/action");
于 2013-06-29T13:46:05.207 回答
1

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

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

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

可以使用内置 PHP 函数uniqid()生成唯一 ID

于 2013-06-29T17:33:51.457 回答