On processing page (I.e the form's action page - where the stuff is entered
into the db) set another session var so that your app knows that the form
has been submitted, data entered etc. The actual form page should have some
extra logic at the top which checks for this extra session var, redirecting
to an 'already done this' page if the var is set. I suppose this logic
should also exist in the action page, in case the user hits back and browser
reposts the data.

Example:

1. User fills out form on 'form.php' and hits submit - browser loads
'action.php'
2. action.php checks for $_SESSION['formIsFilled'] and redirects if found,
enters data into db otherwise.
3. user hits back and goes back to form.php - if browser has cached then
user will be able to resubmit but will be caught at step2. If the browser
didn't cache they'll be caught here.

This method will prevent them resubmitting for the length of their session
(or until $_SESSION['formIsFilled'] is unset)

HTH

Danny.
----- Original Message -----
From: "Chris Boget" <[EMAIL PROTECTED]>
To: "Dan Vande More" <[EMAIL PROTECTED]>; "Petre" <[EMAIL PROTECTED]>;
<[EMAIL PROTECTED]>
Sent: Wednesday, July 31, 2002 6:53 PM
Subject: Re: [PHP] Disabling Browser "BACK" button


> > Page1 (fill in data)->Page2(write data, instant redirect to p1,
> > unless dies from php/mysql)
> > Then the only way to repost, is to push the forward button.
>
> Unless, of course, they hit the "Submit" button again and I think
> that was the point the original poster was getting at.  If the user
> cannot hit the back button, they cannot hit submit again.
>
> Chris
>
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to