加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php中session时间设置畅聊

发布时间:2022-07-29 14:27:17 所属栏目:PHP教程 来源:互联网
导读:php中session时间设置详解 1. 客户端没有禁止Cookie (1)使用session_set_cookie_params()设置 Session失效时间,此函数是 Session 结合 Cookie设置失效时间。如果要让 Session 在一分钟后失效,其代码示例如下所示: $time = 1*60; //设置session失效时间
  php中session时间设置详解
 
  1. 客户端没有禁止Cookie
 
  (1)使用session_set_cookie_params()设置 Session失效时间,此函数是 Session 结合 Cookie设置失效时间。如果要让 Session 在一分钟后失效,其代码示例如下所示:
 
 
   $time = 1*60;                   //设置session失效时间
 
   session_set_cookie_params($time);      // 使用函数
 
   session_start();                 //初始化  session
 
   $_SESSION["username"] = 'tom';
 
  ?>
 
  注意: session_set_cookie_params() 必须要在 session_start()之前调用。
 
  说明:不推荐使用此函数,此函数在一些浏览器上会出现问题。 所以一般会用手动设置失效时间。
 
  (2)使用 setcookie()函数可对 Session 设置失效时间,要让 Session 在一分钟后失效,其代码示例如下所示:
 
 
  <?php
 
   session_start();
 
   // session失效时间
 
   $time = 1*60;                   
 
   // 使用 setcookie 手动设置 session失效时间     
 
   setcookie(session_name(),session_id(),time()+$time.'/');   
 
   $_SESSION["username"] = 'tom';
 
  ?>
 
  说明: 在上例代码 setcookie()函数中,session_name 是 Session的名称, session_id 是判断客户端用户的标识,因为 session_id 是随机产生的唯一名称, 所以Session 是相对安全的。失效时间和 Cookie 的失效时间一样,最后一个参数为可选参数,是放置 Cookie 的路径。
 
  2. 客户端禁止Cookie
 
  当客户端禁用 Cookie 时, Session页面间传递会失效,可以将客户端禁止 Cookie 想象成一家大型连锁超市,如果在其中一家超市内办理了会员卡, 但是超市之间没有联网,那么会员卡就只能在办理的那家超市使用。 怎么解决这个问题有以下的几种方法可供选择:
 
  (1)在登陆之前提醒用户必须打开 Cookie,这是很多论坛的做法。
 
  (2)设置php.ini 文件中的 session.use_trans_sid =1,或者编译时打开 -enable-trans-sid 选项,让PHP自动跨页面传递 session_id。
 
  (3)通过 GET方法,隐藏表单传递 session_id。
 
  (4)使用文件或者数据库存储 session_id,在页面间传递中手动调用。
 
 
 
 
 
 
 
  <?php
 
    $session_name = session_name();        //取得 session 名称
 
    $session_id = $_GET[$session_name];    // 取得 session_id GET方式
 
    session_id($session_id);               // 关键步骤
 
    session_start();
 
    $_SESSION['admin'] = 'soft';
 

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读