QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2988|回复: 9

有关php的session如何自动消失问题

[复制链接]
发表于 2006-2-11 10:40:50 | 显示全部楼层 |阅读模式
我写php的时候
设置了一个session,这个session过了好几天都不自动消失,当我再访问这个网站的时候不用输入用户名和密码。

请问如何像在asp中一样浏览器一关闭session就自动消失呢?


另,我已经做过以下尝试
1 我的php.ini 中已经设置了
  session.cookie_lifetime = 0;
2 我清空了浏览器所有的缓存文件和cookie,但是仍然不需要输入密码。
发表于 2006-2-11 17:49:09 | 显示全部楼层
Destroying a session with $_SESSION
[code:1]
<?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();
?>  
[/code:1]
回复

使用道具 举报

 楼主| 发表于 2006-2-11 17:51:49 | 显示全部楼层
good!!~

thanks 兔子~~
回复

使用道具 举报

发表于 2006-2-11 19:00:09 | 显示全部楼层

默认的应该是 session 在完全关闭浏览器后失效啊?
回复

使用道具 举报

发表于 2006-2-11 20:31:37 | 显示全部楼层
session信息存储在服务器端
回复

使用道具 举报

发表于 2006-2-11 21:41:46 | 显示全部楼层
浏览器这里存一个 COOKIE ,这个小甜点是 session 的 sid ,这个 cookie 默认是关闭浏览器后作废。
回复

使用道具 举报

发表于 2006-2-12 09:38:30 | 显示全部楼层
只记得从manual上直接贴代码了$_COOKIE[]

[code:1]

class User {
    ...

    public function UserLogin ($username, $user_password)
    {  
        ... // 作sql查询操作...
         
        // 如果用户表里有相关匹配数据,即用户登录成功
      
        // 初始化session...
        session_start();
        $_SESSION = array();

        // $user_id是上面sql查询操作得到的值
        $_SESSION['USERID'] = $user_id;
        ...
         
        // 消毁session
        session_destory();
    }
}

[/code:1]
回复

使用道具 举报

发表于 2006-2-16 02:52:32 | 显示全部楼层
多问一句
session_start();
是不是得放到代码的头一行?

我放到百八十行后面它就出错
回复

使用道具 举报

发表于 2006-2-16 09:08:34 | 显示全部楼层
session_start();在作session的初始化

编程中使用一个对象,是不是要初始化先
回复

使用道具 举报

发表于 2006-2-16 17:16:24 | 显示全部楼层
session 必须在有输出之前,类似于 header() 的用法。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-17 00:38 , Processed in 0.042970 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表