我有一个上传表单,我在其中上传 csv 文件,然后将所有行插入数据库。如果我点击刷新,所有内容都会一次又一次地插入到数据库中。防止这种情况的最佳措施是什么?
非常感谢!BR
防止这种行为的最佳方法是使用重定向来显示登录页面。当进行重定向时,浏览器历史记录会在发布操作之后记录另一个 url。在 Yii 中,您可以通过从控制器执行以下操作来实现此目的。
$this->redirect("../path/to/action");
您可以将隐藏的输入元素添加到具有唯一 ID 的表单中:
<input type="hidden" name="random" value="4b3403665fea6">
如果将此值存储在数据库中,则可以确保不会上传具有相同唯一 ID 的 CSV 文件(刷新后)。
可以使用内置 PHP 函数uniqid()生成唯一 ID