自分自身に投稿するページに投稿/リダイレクト/取得パターンを実装したいと思います。投稿/リダイレクト/自分宛てに投稿するフォームを取得する
フォームは私が現時点で構築しているMVCアプリケーションの一部で、フォームフィールドはPHPで生成されます。
フォームはここに常駐:
public function myaction(){
$login = $_POST['comment'];
if(isset($comment)){
//I am not doing any real checking here as I am just testing the redirect. Just checking to see if a value was supplied to the comment text input.
$_SESSION['test'] = 'SUCCESS';
//Insert the comment here (into some database).
header("Location: http://site.com/mycontroller/myaction/", 302);
exit();
echo "<BR>Thanks for commenting! <BR>";
}else{
//Show the form here.
//The form posts to itself, so the action looks like: <form action="" method="POST">
}
}
:http://site.com/mycontroller/myaction/
ここで「myaction」に関連するコードは(セッションが既に開始されているので、私は読んで$ _SESSIONから書くことができることに注意してください)です上記のコードはうまくいきます。ユーザーが戻るボタンをリフレッシュまたは使用する場合、彼はブラウザによってデータを再投稿するよう求められません。
問題は、コメントが挿入されたときに「感謝の気持ち」と言うメッセージを表示することです。同時に、彼らが空のコメントを提供した場合は、フォームと「コメントを入力してください!」というメッセージを表示したいと思います。
これら2つの要件を実装するにはどうすればよいですか?
乾杯:)
'header(" Location:... ")'でリダイレクトすると、前に印刷したものは表示されません。 'echo'が' exit'の後にあるなら、明らかに何も表示されません。 –