PHP 会话控制Cookie和Session

  • 创建cookie
    • setcookie(name,value,time()*7*24*60*60)后两个参数都是可选的
    • 数组形态的cookie的使用可创建关联数组或者是索引数组
      • setCookie("user[name]","张三")
      • setCookie("user[password]","123")
      • setCookie("user[email]","[email protected]")
      • 输出:cookie("user[name]");WWW
  • 删除cookie()(通过设置的过期时间)
    • setCookie("username",'',time()-3600)
================session=======================
  • session的声明与使用
    • session_start();//使用session前必须,启动session的初始化
    • $_SESSION['user_name'] = "张三";//注册session变量
  • 注销变量与销毁session
    • 第一步:$_SESSION = array();//删除所有session变量,也可用unset($_SESSION["XXX"])逐个删除。
    • 第二步:if(isset($_COOKIE[session_name])){//如果是基于cookie的session删除客户端包含session_id的cookie
      • setCookie(session_name,‘’,time()-3600,‘/’);
    • }
    • 第三步:session_destroy();//彻底销毁session
  • session相关的php.ini中的设置
    • session.cookie_lifetime=0//设置浏览器cookie的生命周期,默认0表示永不过期
    • session.gc_maxlifetime=1400//设置session的“垃圾回收程序”清理垃圾的最低时间,表示距上次修改session文件超过1400秒就把该session文件给删除掉
  • session中常用的函数
    • session_name()//返回session名称。默认PHPSESSID(php.ini中的session.name指定的值)
    • session_id()//返回当前session_id。如:mdi67mrj9tkra1aibb0svnace7
  • 传递session的方式
    • 通过cookie()
    • 通过url传递
  • 自定义session处理方式(都是基于session_set_save_handler(open,close,read,wrie,destroy,gc))
    • 自定义session的处理机制,读写文件
    • 使用数据库处理session
    • 使用memcached处理session

你可能感兴趣的:(PHP)