csv ファイルをアップロードしてから、すべての行をデータベースに挿入するアップロード フォームがあります。更新を押すと、すべてのコンテンツがデータベースに何度も挿入されます。これを防ぐための最善の策は何ですか?
どうもありがとう!ブラジル
この動作を防ぐ最善の方法は、リダイレクトを使用してランディング ページを表示することです。リダイレクトが行われると、投稿アクションの後にブラウザの履歴に別の URL が記録されます。Yii では、コントローラーから以下を実行することでこれを実現できます。
$this->redirect("../path/to/action");
一意の ID を持つ非表示の入力要素をフォームに追加できます。
<input type="hidden" name="random" value="4b3403665fea6">
この値をデータベースに保存すると、(更新後に) 同じ一意の ID を持つ CSV ファイルがアップロードされないようにすることができます。
組み込みの PHP 関数uniqid()を使用して一意の ID を生成できます。