どうも特定条件にて書き込み(POST)できない状況が発生しているようです。そもそもうちのサイトには書き込みがほとんどないのですが(汗)、現在のところ書き込めない方は一名。サンプル数が少なすぎて原因が不明だったりします。こちらで現象が再現できれば話は早いのですが、私の持っている環境下ではどの組み合わせにおいても問題が発生しないのですね~。
ちなみに、問題は下記の通り
- 書き込み(POST)すると、サーバのログには
xx.xx.xx.xx - - [05/Nov/2003:21:04:51 +0900] "POST /~takatani/chacha/bbs/ HTTP
/1.1" 200 - "http://toriyu.dd.que.ne.jp/~takatani/chacha/bbs/?follow=xxx&create=1" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; T312461; Lunascape 1.05)"
などのように記録される(サイズは - だったり 0 だったりする)
- このとき、ブラウザには存在しないドメインのURLをアクセスしたようなエラー画面が表示される(らしい)
- /var/log/httpd-error.log には特に何も記録されない
- スクリプト側で受け取った全情報を記録するようにしているが、これにも何も記録されていない
ということで、さっぱり意味不明なんですねー(笑)。POSTが来ているのにサイズが0ってのが特に謎。エラーの場合でもヘッダ分ぐらいは返ってしかるべきと思うのだけれど。
てことでよくわかんないのですが、なにもしないのもアレなので とりあえずぐちゃぐちゃのゲストブックスクリプトを整理してみました。
- 書き込み処理を別ファイルに分けた
- 上により必要なくなるヘッダ出力はほとんど全部削った
- 書き込んだ後はLocationではじめの場所に飛ばすようにした
- 受け取った情報の保存は書き込みスクリプトのはじめに行うようにした
何を隠そう、いままでうちのげすとぶっくは 表示・書き込みフォーム・書き込み が全部一つのファイルに入ってたのですねー。今回<form action=~>の飛び先だけを分けたのですが、これでずいぶんすっきりしました。もはやリロード対策も必要ありません。これで問題解決の糸口でもつかめれば・・・と思うのですが、たぶん無理でしょう(笑)。
# ちなみに、外見は前と変わりないはずです
## やっぱり書き込みできないのも前と同じでした(汗;;)
□ 関連記事