私は、postメソッドでデータを取得する同じページのmysqlにデータを挿入するコードを記述しています。それは正常に動作しますが、私はページをリフレッシュするときに再び挿入されます。 私の質問は、ページを更新するときに挿入クエリを再実行することをやめることです。データが転送される同じページにクエリを挿入します。
1
A
答えて
1
これは、更新時に再度POSTデータが送信されたために発生しています。ブラウザがそのことを警告します。その警告が表示されない場合は、POSTではなくGETを使用している可能性があります。これはデータを変更または挿入するアクションには適していません。
<form method="post">
あなたは完全にそれを回避したい場合は、単にポストバック後にブラウザをリダイレクト:
は、フォームがこの属性を持って確認してください。
<?php
if ($_POST) {
// insert into database
header("location: thisPage.php");
// don't bother with die() here
}
リダイレクトがセキュリティ上の目的のために使用されていないので、あなたはちょうど同じページに戻ってリダイレクトしている、それはその後die()
に本当に必要はありません。
0
フォームに変数を追加してから、保存中に値をリセットします。
if(isset($_POST['save']))
{ //do your saving
$save="";
}
1
この状況を解決するには、おそらくPost-Redirect-Get patternを使用します。 POSTを使用してサーバーにデータを送信するのは良いことです。必要な変更を行った後、簡単なリダイレクトヘッダーを使用して、見たいページにユーザーをリダイレクトします。これは、戻るボタンを壊すことはありませんし、それをクリックすると、データを再度送信せずにフォームに戻ることになります。
関連する問題
- 1. 同じデータがxampp mysqlに2回挿入されます
- 2. 同じページに留まりますが、データは別のページに転送する必要があります
- 3. 同じコードがあるデータベースにデータを挿入しますが、別のデータベースにデータを挿入しません
- 4. MVC - 同じページから複数のエンティティにデータを挿入します。
- 5. elasticクエリは、挿入後に同じ結果を返します
- 6. データを挿入するために同じクエリを使用する方法
- 7. クエリを挿入するとテーブルにデータが挿入されませんが、エラーは発生しません
- 8. 同じSQLクエリでデータを挿入して選択する方法は?
- 9. 2つの挿入クエリ...同じクリックで
- 10. 同じベクトルのデータを参照してベクトルに挿入する
- 11. mvcの同じビューにデータを挿入して表示する
- 12. サーブレットコードは、別のページではなく異なるシナリオで同じページに転送されます
- 13. フォームを送信すると同じデータが再送信されます
- 14. レコードが挿入され、同じレコードが同じトランザクションで削除された場合、そのレコードは挿入としてカウントされますか?
- 15. 同じアトリビュートに複数の値を挿入するSQLクエリ
- 16. Knexクエリが非同期で実行されたときに同じレコードを2回挿入する
- 17. 同じページに2番目のドロップダウンを挿入する
- 18. dynamodbに挿入している間に同じデータを書き直します
- 19. 3tierアプリケーションでページされたデータを転送する
- 20. php jquery clone入力フィールドが同じ列のdbに挿入されます
- 21. 複数の挿入をMySQLで同じ選択クエリのデータで実行する
- 22. ベクトルのpush_backは同じ場所に挿入されますか?
- 23. 複数のフォームを同じテーブルに挿入する - 最後のフォームのみが挿入されます
- 24. SQL Server:動的クエリを挿入して挿入すると、1のときに値が挿入されます
- 25. 同じデータを同じデータベースに2つの異なるテーブルに挿入
- 26. JSの挿入ページが長いテーブルに挿入される
- 27. vb.netの同じテーブルと行にデータを挿入する方法
- 28. Sqliteクエリ:フィールドのすべての要素に同じ値を挿入します
- 29. データベースに挿入されていないクエリを挿入する
- 30. 同じ行にある2つの列にデータを同時に挿入する