无法在PHP中销毁会话和cookie

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.