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
最新のブログ記事(新着順)
- 15000以上のいい感じの線形アイコン「Lineicons」
- CSSやTailwindでのCSSスニペットライブラリ「CSS Snippets Library」
- AIを使ってサイトマップが作れる「Octopus.do」
- ライブラリ依存のないモーダルオープンライブラリ「Blendy」
- 個性的な明朝フリーフォント「築豊初号明朝OFL」
- CSSで太陽が差し込むようなアニメーション実装
- 可愛くアニメーションする「beautifully crafted animated icons」
- アイソメトリックなアイコンがアイコンがPNG,SVGでゲットできる「Isoicons」
- ユニークなカタカナフォントtorisippo
- 美しいメッシュグラデーションをCSSで簡単に取得できる「MSHR」
- 過去のエントリ