Currently I am using the following code to log users out.
session_start();
setcookie("u", "", time() - 999999);
setcookie("i", "", time() - 999999);
setcookie(session_name(),"",time()-999999);
session_destroy();
$_COOKIE['u']
and $_COOKIE['i']
are used to automatically log in users.
My problem is when I put this logout file directly under the web directory (i.e. www/
), it works very well. However, when I put it in the secondary directory (i.e. www/includes/
) or combined these codes with other PHP pages (i.e. change password and then log user out) in includes
folder, user is not able to log out successfully.
It seems like your cookies are being set on different paths. The 4th parameter is the domain path and the 5th is the domain.
bool setcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] )
See http://www.php.net/manual/en/function.setcookie.php
It's a good idea to explicitly set these when working with cookies.