目前我使用以下代码将用户注销。
session_start(); setcookie("u", "", time() - 999999); setcookie("i", "", time() - 999999); setcookie(session_name(),"",time()-999999); session_destroy();$_COOKIE['u']和$_COOKIE['i']用于自动登录用户。
我的问题是当我将这个注销文件直接放在web目录下(即www/ )时,它运行得很好。 但是,当我将它放在辅助目录(即www/includes/ )或将这些代码与其他PHP页面(即更改密码然后登录用户)组合在includes文件夹中时,用户无法成功注销。
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.
最满意答案
看起来你的cookie被设置在不同的路径上。 第4个参数是域路径,第5个是域。
bool setcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] )见http://www.php.net/manual/en/function.setcookie.php
在使用cookie时明确设置这些是个好主意。
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.
更多推荐
发布评论