有关php的session如何自动消失问题
我写php的时候设置了一个session,这个session过了好几天都不自动消失,当我再访问这个网站的时候不用输入用户名和密码。
请问如何像在asp中一样浏览器一关闭session就自动消失呢?
另,我已经做过以下尝试
1 我的php.ini 中已经设置了
session.cookie_lifetime = 0;
2 我清空了浏览器所有的缓存文件和cookie,但是仍然不需要输入密码。 Destroying a session with $_SESSION
<?php
// Initialize the session.
// If you are using session_name("something"), don't forget it now!
session_start();
// Unset all of the session variables.
$_SESSION = array();
// If it's desired to kill the session, also delete the session cookie.
// Note: This will destroy the session, and not just the session data!
if (isset($_COOKIE[session_name()])) {
setcookie(session_name(), '', time()-42000, '/');
}
// Finally, destroy the session.
session_destroy();
?>
good!!~
thanks 兔子~~ :?:
默认的应该是 session 在完全关闭浏览器后失效啊? session信息存储在服务器端 浏览器这里存一个 COOKIE ,这个小甜点是 session 的 sid ,这个 cookie 默认是关闭浏览器后作废。 :oops: 只记得从manual上直接贴代码了$_COOKIE[]
class User {
...
public function UserLogin ($username, $user_password)
{
... // 作sql查询操作...
// 如果用户表里有相关匹配数据,即用户登录成功
// 初始化session...
session_start();
$_SESSION = array();
// $user_id是上面sql查询操作得到的值
$_SESSION['USERID'] = $user_id;
...
// 消毁session
session_destory();
}
}
多问一句
session_start();
是不是得放到代码的头一行?
我放到百八十行后面它就出错 session_start();在作session的初始化
编程中使用一个对象,是不是要初始化先 :mrgreen: session 必须在有输出之前,类似于 header() 的用法。
页:
[1]