Auto redirect on logout.php


#1

Hi folks,
Just sorted out my login script and was wondering if there was anything that could sortout my logout file. That when the user hits the logout button it, automatical goes back to the index.php, i have it set to destroy the session var’s its just would look better that a

You are logged out please click here to go somewhere

Kind Regards
Dee


#2

Hi,

You can try using a meta refresh inside a function. This example has the meta refresh set to 3 seconds:


function redirect() {

echo "<meta http-equiv="refresh" content="3;URL=index.php">n";
echo "Please wait.....";
exit;

}

Put the function anywhere in your logout page, then simply call the function after you have reset the session:

redirect();

Hope that helps.


#3

Thanks for the quick reply, Could i use something like this and place it in a global file? will try it in my code now, but knowing my luck i’ve missed something lol

function redirect() {
if(!$logged_in){
echo “n”;
echo “You are not currently logged in, logout failed, Please wait…”;

} 

else{
/* Kill session variables */
unset($_SESSION[‘username’]);
unset($_SESSION[‘password’]);
$_SESSION = array(); // reset session array
session_destroy(); // destroy session.

 echo "<meta http-equiv="refresh" content="3;URL=index.php">n"; 
 echo "Please wait....."; 
     } 

exit;
}/* End Function


#4

Should be ok, except if your variable $logged_in is declared outside the function you need to declare it as a global variable inside function

function redirect() {

global $logged_in;

//rest of code

}

#5

Not that carella’s method won’t work, it will, but I prefer to use the header function.

I would use:

header("Location: path/to/index.php");

which I would put instead of:

echo "<meta http-equiv="refresh" content="3;URL=index.php">n"; echo "Please wait.....";

If you do use header() be aware that it must be called before any other output is sent.

http://www.php.net/header

Hasta later,
kamm…


#6

Thanks kammo.

I usually go with the meta refresh idea for beginners as they find it easier to use.