クロームの再POST問題
Webアプリケーションにおいて
F5を押してPOSTが再送信されるとマズイので
POSTを受け取って処理した後で適当なURLに転送するのが定石で、
こうするとF5を押してもPOSTが再送信されないけど
クロームだとちょっと落とし穴があるみたいだ。
http://www.eisbahn.jp/yoichiro/2005/11/method.html
クロームだと転送前と転送後が
同一URLの場合はF5を押すと
フォームの再送信ダイアログが出てしまう仕様のようだ。
ここでYesを押すと転送したのに
再POSTされてしまう。。
スレイプニルやFirefoxでは同一URLでも
転送さえすれば、F5を押して再POSTはされない。
つまり開発者側の注意点として
クロームではheader('Location: '.$_SERVER['PHP_SELF']);
のようなPOST後の同一URLの転送は
再POST問題の解決としては不完全なので、
別URLにするか適当なGetパラメータを付加して転送しないと
いけないということのようです。