Reputation: 20223
I have a form where I am filing some informations in a wizard. This page is reaching by POST and displayed with Smarty. Once I filed all the informations in, I am using another post to get to another page. Now, the problem is that when I am trying to go back with the BACK button, I am geting the "Document expired" message.
Is than a normal thing while I am using POST or?
I am trying right now to use GET but nothing changes, or my GET is written wrong.
Here is a small schema:
Page 1 -> POST -> Page 2 (wizard) -> POST -> Page 3
When I try to come back from page 3 to page 2, I am geting the doc expired.
Thank you very much for your help regarding my problem.
Upvotes: 0
Views: 10051
Reputation: 191779
http://en.wikipedia.org/wiki/Post/Redirect/Get
In my opinion, you should do this for every POST, at least in production.
Small example:
if ('GET' == $_SERVER['REQUEST_METHOD']) {
//display view
}
else if ('POST' == $_SERVER['REQUEST_METHOD']) {
//process input
//update session
header('Location: /next/page/to/view', true, 303);
}
EDIT: Want to point out that this old post was referring to browser submissions. In a RESTful web service you would likely respond with a 201 for POST.
Upvotes: 5
Reputation: 17000
Everything is correct. When you push BACK
on your Page 3
you are actually trying to go to previous page - this page is generated as a reply to bowser's POST request. To view this page new POST request should be sent and page would be generated relying on POST data.
Upvotes: 1