tags:

views:

323

answers:

2

Hello,

I have a login system, and while logged in, if I refresh the browser, Chrome shows a pop up window titled "Confirm Form Resubmission." I assume that the same thing would happen with other browsers.

How can I allow the browser to be refreshed without this confirmation pop-up window? Of course, I would also like to stay logged in while refreshing the browser.

Thanks in advance,

John

+5  A: 

After processing the POST page, redirect the user to the same page.

On http://test.com/test.php

header('Location: http://test.com/test.php');

This will get rid of the box, as refreshing the page will not resubmit the data.

Chacha102
Thanks... this seems promising, but when I added it to my index page, the page wouldn't load and Chrome said that it had a redirect loop problem.
John
You have to only redirect it when you detect POST data. Test for something like `if($_SERVER['REQUEST_METHOD'] == "POST"){ header('blah blah blah'); }`
Chacha102
Yes, just putting it on the page anywhere will redirect the user every time, creating a redirect loop to the same page. You have to have some statement that will stop it.
animuson
Thanks Chacha102... it works. I really appreciate your help. You are cool.
John
Note that any header('Location:.. must be always followed by `exit;` to prevent further code execution
Col. Shrapnel
A: 

Alright, so at the top of you login page, you can just have this:

<?php
if (isset($_POST['username'])) {
// Do you login stuff here....

if ($passed == true) {
    header('Location: index.php');
} else {
    echo "Invalid username/password!";
}
Sean Fisher