Я хотел бы реализовать шаблон Post / Redirect / Get на странице, которая будет публиковать для себя.
Форма является частью приложения MVC, которое я сейчас создаю, а поля формы создаются в php.
Форма находится здесь: http://site.com/mycontroller/myaction/
Вот соответствующий код для «myaction» (обратите внимание, что сессия уже началась, поэтому я могу читать и писать из $ _SESSION):
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">
}
}
Приведенный выше код работает нормально, если пользователь обновляет или использует кнопку «Назад», ему не предлагается перепечатывать данные браузером.
Проблема в том, что я хотел бы отобразить сообщение «Спасибо за комментарий», когда комментарий был вставлен. В то же время, если они предоставят пустой комментарий, я хотел бы отобразить форму и сообщение с надписью «Пожалуйста, введите комментарий!».
Как я могу реализовать эти 2 требования?
Приветствия:)