2

csv ファイルをアップロードしてから、すべての行をデータベースに挿入するアップロード フォームがあります。更新を押すと、すべてのコンテンツがデータベースに何度も挿入されます。これを防ぐための最善の策は何ですか?

どうもありがとう!ブラジル

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 に答える