私はmysqlテーブルに行を挿入しています。行がテーブルに正常に挿入されています。 しかし、問題は、ページを更新するたびにデータベースに新しい行が追加されることです。PHP/MYSQLの重複問題
どうすればいいですか?
私はmysqlテーブルに行を挿入しています。行がテーブルに正常に挿入されています。 しかし、問題は、ページを更新するたびにデータベースに新しい行が追加されることです。PHP/MYSQLの重複問題
どうすればいいですか?
これはブラウザの問題です。リフレッシュ時にデータを再ポストします。それが起こらないようにするには、新しいレコードが挿入されるたびにコード内のデータの重複をチェックする必要があります。これは、データの複製を防止する必要がある一般的な方法です。
純粋な重複データが予想され、許可されている別のケースでは、挿入するたびに同じ登録ページにユーザーをリダイレクトすることができます。header("Location: {$location}");
ブラウザのPOSTデータがクリアされます。
Post/Redirect/Get patternを使用してください。
ポスト/リダイレクト/取得(PRG)は、特定の重複したフォームの送信を回避し、ユーザエージェントはブックマークや更新ボタンで、より直感的に振る舞うことを可能にするWeb開発者のための共通のデザインパターンです。 PHPで
、これがそうのように見える、一般的に...明らかに
<?php
handleForm($_POST);
header('Location: next-page.php');
exit;
handleForm()
はあなたのコードの代わりにするのインサートを扱うことなど
mysqlテーブルの主キーを使用します。任意の列を主キー列として作成する
Showでいくつかのコードを使用しますか? – Tim
は、ユーザーに最新表示をブロックするだけです。データを追加した後に新しいページに転送します。 – Raptor