Per Jessen wrote:
Yes, that's a very typical setup. When the form is processed, you send
a 303 redirect to the "Thank you" page. That way, if the user hits
the "back" arrow, he's taken back to the form URL, not the post URL.
(which would then warn him about re-submitting etc.)
Ok, fine. But why do a real redirect when a header with 303 could be
sufficient? If you model good enough, there would not be a need for
header(location) redirects. Or am I wrong?
What is your opinion about (ab)using rewrites / redirects? Do you use
it quick and dirty, or is it some elegant way of controlling flow?
I think there are plenty of perfectly valid reasons for using a
redirect, whether dynamically from php or via an apache config.
And undoubtedly there equally many poor reason for using redirect and/or
rewrite. (they're very different things, by the way).
I know they're different things. I only want to start a discussion so
people do understand other techniques instead of just using whatever
'works' as a solution to their problem with flow. Redirects do solve
some issues, but they should be avoided whenever possible.
header(location) mechanisms do come with a very huge disadvantage if you
don't use them with caution. Requests are reinitialised, libraries
loaded (again), DB connections setup/checked again, session lookups are
being done, log write for another request etc. That's quite an impact
for just not knowing what to do with flow. So, if you know what you want
to handle (control) and what you want the user to see (view), one should
be able to model it without the use of redirects unless it really is needed.
Or is it OK, to redirect and 'simplify' the flow?
--
Aschwin Wesselius
/'What you would like to be done to you, do that to the other....'/