POST後はリダイレクトした方が吉
2006年02月23日-
スポンサード リンク
Sitening Blog Blog Archive Redirect After Form Processing
After processing an html form, it is often a good idea to redirect the user to a new url, rather than just presenting the results. Consider this php example:
掲示板などで、フォームに対して送信した後は、そのまま画面のHTMLを返すのではなく、書き込み処理等を行った後、Location等で別の位置にリダイレクトするのが吉、という記事。
ごく当たり前のことなんですが、慣れでついそのまま画面HTMLを返していた人も多いのではないでしょうか?(私がそうです^^;)
別の位置にリダイレクトすることで、書き込み画面のリロードによる2重投稿を防いだり、リロード時に「もう一度送信しますか?」というダイアログを出すのを防いで使い勝手を向上させることが出来ますね。正直、そのままHTMLを返す方式ではいいことがなさそうです。
アンケートフォームなんかであれば次のようにリダイレクトして、Thankyou画面を出すのが適切ですね。
<?php
if ($_POST["name"]) {
header("Location: /thanks.html");
exit;
}
?>
そういうわけで、今後はこの方式を常識として採用していこうと思っています。
(対応していないブラウザや、状況によってはこの方式にしない方がよいこともあります)
(追記)尚、Location先に関しては絶対パスの方がRFC的に正しいようです。ご指摘いただいた方ありがとうございます
スポンサード リンク
Advertisements
SITE PROFILE
最新のブログ記事(新着順)
- くちばしフォント【商用可】
- 小説表紙などに使えそうな商用可なフォント「になロマン」
- 筆で書いたようなカナ書体「筆竹仮名B」
- 無料・商用利用可な丸文字ピクセルフォント「マルミーニャM」
- スペースコブラ風フォント
- Next.jsのVercelから商用利用可能なフリー汎用フォント「Geist Font 」
- 無料で使えるいい感じの日本語フォント「しっぽり太ゴシック」
- CSSのみで実装された500種類のローディングアニメーション「CSS Loaders」
- 画像ホバーで様々なエフェクトをかけられる「Izmir」
- CSSのbox-shadowをGUIで生成できる「CSS Box Shadows Generator」
- 過去のエントリ