ご返事ありがとうございます。
なるほど、リンクを貼る方法で解決させようと思います。
登録ユーザーのみ見られるページで、活発な発言のためキャプチャはためらっていました。
頭が硬かったな...汗
どうもありがとうございました。
ゲストブックのリロードで二重送信
2015年9月8日 at 13:30
初めて質問させていただきます。
標準のゲストブックブロックを使って掲示板もどきのページを作ろうとしています。
しかし、コメントを送信したあとでページをリロードするとコメントが二重に送信されてしまいます。ただのコメント欄なら構わないのですが、掲示板風に使いたいのでコメントしたあと(他者のコメントを見るため)リロードする機会が多いので、これを防ぎたいのですがPHP、concrete5の知識が全く無いために方法が分かりません。
試しに調べてみて、ページ(使ってるページタイプのphp)の冒頭に
if (!empty($_POST)) {
header("Location: {$_SERVER['REQUEST_URI']}");
exit();
}
と挿入してポストがあるときはGETでリダイレクト(?)するようにしてみたのですが
そうしますとリロードした時に未記入送信したとみなされるようで「コメントを入力してください」のような文章がゲストブックブロックに表示されます。ゲストブックブロックをいじってエラーコメントを出さないようになら出来ますが本質的な解決ではありませんし...
また{$_SERVER['REQUEST_URI']}の代わりに絶対パスで掲示板ページのURLを指定すればそれっぽく動きましたが、掲示板ページをいくつも作りたいので固定で書いてしまうことはできません...
php等の知識が本当に無いためとんちんかんなことを言っているかもしれませんがうまくいきそうな方法などありましたら是非ご教授願います。
よろしくお願いします。
concrete5 5.6.3.1
タグ:
Your post has been saved and will be published after approval by the forum moderator.
takuro hishikawa
Re: ゲストブックのリロードで二重送信
<a href="./">再読み込み</a>
というリンクを置いておいてそちらのリンクを押すようユーザーを誘導するのはどうでしょうか