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
最新のブログ記事(新着順)
- 2012年2月10日 管理人のブックマーク
- ブラウザ上でPDFを表示するJSライブラリ「PDF.js」
- 次世代の検索フォームを作成するjQuery&CSS3サンプル
- 2012年2月9日 管理人のブックマーク
- faviconを書き換えてfacebookの通知っぽくしてくれるfaviconアラート実装ライブラリ「Tinycon」
- ページめくりを実現するためのjQueryプラグイン集
- 2012年2月8日 管理人のブックマーク
- HTMLをアップするとCSSのスケルトンを自動生成してくれる「bearcss」
- HTML5で綺麗でインタラクティブなグラフが描けるライブラリ「Flotr2」
- 2012年2月7日 管理人のブックマーク
- 過去のエントリ



















間違いの指摘をしていただける方はメール、あるいはTwitterでお願いします(クリック)




