F5 と同じ方法でページをリロードする方法を見つけるために Stackoverflow を探していました。つまり、次の問題があります。
フォーム (data.php としましょう) と DB データを含むテーブルを含む php ページがあります。フォームは別の php ページを呼び出して、post メソッドを介してアクション (action.php) を実行します。Action.php が呼び出され、DB が更新されます。ここで、data.php に戻り、DB の変更を読み取ってテーブルを更新したいと考えています。
私がしたことは、action.php で次のことを試していたことです。
- Header('Location: data.php'): これは data.php に送信されたため機能しませんでしたが、F5 でページを更新する前にテーブルに変更が見られませんでした。php が原因であることがわかりました。サーバー側の言語なので、ブラウザに作用してページをリロードするように指示することはできませんが、それは正しいですか?
- Header('Location: data.php?u=reload'): 次に、data.php で $_GET['u'] を制御します。その変数がリロードに等しい場合、data.php でヘッダー data.php を設定してから呼び出します。 jscript の location.reload。繰り返しますが、テーブルに変更はありませんでした。
DB の更新後に data.php テーブルを自動的に更新して、ページを手動でリロードしなくてもユーザーが導入した変更をすぐに確認できるようにしたいのですが、どうすればよいですか?
どうもありがとう!
編集:
実際には次のようになります。画像がフォーム imgID.EXT に保存されているフォルダーと、画像データがフォーム ID、EXT、TEXT に保存されている DB があります。Data.php は、ID によって並べ替えられた画像のリストを独自のテキストと共にロードし、リストを変更するためのボタンを備えています (すべての画像に上へ移動ボタン、下へ移動ボタン、削除ボタンがあるようなもの)。moveup を呼び出すと、action.php に移動し、画像の ID を変更してリスト内で移動し、画像フォルダー内の名前を変更してから、data.php に戻ります。
リダイレクト後、以前と同じ位置に画像が表示されますが、たとえば、画像#5のテキストが画像#4のテキストと正しくスワップされます。F5 (またはページをリロードするブラウザ ボタン) を使用して更新すると、image#5 が image#4 に切り替わり、すべて問題ありません。F5 を使用せずに何かを交換したいのですが、何が問題なのか理解できません。