| 
	
 | 
 Posted by frizzle on 02/14/06 21:44 
d wrote: 
> "tmax" <tmax@comcast.net> wrote in message 
> news:8281b$43f21506$481a8e8e$18008@PGTV.COM... 
> > PHP Pros: 
> > 
> > I have a simple html form that submits data to a php script, which 
> > processes it, and then redisplays the same page, but with a "thank you" 
> > message in place of the html form.  This is all working fine.  However, 
> > when refresh the browser, I get the following message displayed: 
> > 
> > "The page you are trying to view contains POSTDATA. If you resend the 
> > data, any action the form carried out (such as as search or online 
> > purchse) will be repeated.  To resend the data, click OK. Otherwise, click 
> > Cancel." 
> > 
> > Obviously I don't want my users to resend the data to me. 
> > 
> > What do I need to do code-wise so that when the browser is refreshed, the 
> > page is reloaded without this message being displayed. 
> > 
> > Thanks in advance. 
> 
> In the script to which the form submits, store the $_POST data somewhere 
> else, say a session.  Then, use this: 
> 
> header("Location: http://host/path/to/script.php"); 
> exit(); 
> 
> to bounce the user to another page.  Most browsers know to not re-submit the 
> post data to this new page.  The new script can even be the originating 
> one - as long as you use the location: header, you'll be fine.  You can then 
> access the submitted data wherever you stored it. 
> 
> PS.  if you're using a session to store the data, call session_write_close() 
> before the header() call, otherwise nasty things happen on some browsers. 
> 
> dave 
 
Just curious, but is there / would you recommend a good alternative for 
the Sessions? 
 
Frizzle.
 
[Back to original message] 
 |