Im использует шаблон PRG, чтобы избежать множественного представления формы. Тем не менее, это серьезный недостаток - вы не можете просто echo
подтвердить сообщение пользователю (очевидно, пользователь не увидит страницу, он будет перенаправлен на другой).
Каковы решения этой проблемы? Я знаю двух из них, но ни один из них не кажется идеальным.
- Используйте настраиваемый URL-адрес перенаправления, например:
http://example.com/?msg=data-saved
. Его безграждан, поэтому я считаю его вполне надежным. Но это создает проблемы, когда пользователь копирует ссылку, заносит закладки и т.д. - Сохраните переменную сеанса/файл cookie и проверьте его при каждой загрузке страницы. Если его набор, очистите его и покажите сообщение. Кажется, все в порядке, но я не уверен в этом - он сильно полагается на файлы cookie, это немного сложнее.
Или, может быть, есть другие способы, о которых я не знаю? Некоторая комбинация сеансов и параметров URL? Незнайка.
Какой лучший способ, на ваш взгляд? У кого есть наименьшие недостатки? Каковы плюсы и минусы?