初めて質問させていただきます。
標準のゲストブックブロックを使って掲示板もどきのページを作ろうとしています。
しかし、コメントを送信したあとでページをリロードするとコメントが二重に送信されてしまいます。ただのコメント欄なら構わないのですが、掲示板風に使いたいのでコメントしたあと(他者のコメントを見るため)リロードする機会が多いので、これを防ぎたいのですがPHP、concrete5の知識が全く無いために方法が分かりません。
試しに調べてみて、ページ(使ってるページタイプのphp)の冒頭に
if (!empty($_POST)) {
header("Location: {$_SERVER['REQUEST_URI']}");
exit();
}
と挿入してポストがあるときはGETでリダイレクト(?)するようにしてみたのですが
そうしますとリロードした時に未記入送信したとみなされるようで「コメントを入力してください」のような文章がゲストブックブロックに表示されます。ゲストブックブロックをいじってエラーコメントを出さないようになら出来ますが本質的な解決ではありませんし...
また{$_SERVER['REQUEST_URI']}の代わりに絶対パスで掲示板ページのURLを指定すればそれっぽく動きましたが、掲示板ページをいくつも作りたいので固定で書いてしまうことはできません...
php等の知識が本当に無いためとんちんかんなことを言っているかもしれませんがうまくいきそうな方法などありましたら是非ご教授願います。
よろしくお願いします。
concrete5 5.6.3.1
Posted on 9月 08, 2015 at 1:30 午後
|