会话主要作用是跟踪客户端在服务端的的行为,会话中存储的数据可以跨页面,
session存储位置的设置:php.ini ---session.save_path
session.name=PHPSESSID 设置cookie中存储session_id的键名,session_id是当前客户端唯一的标志
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_probability /session.gc_divisor=1/1000,定期清理文件的几率;
session文件数据有效期,当前浏览器关闭,默认路径是根目录
session.cookie_lifetime = 0
session----存储于服务端
向session会话中存储数据利用$_SESSION
session_start()---读写都要开启会话
$_SESSION['userName']='grunt';
$_SESSION['loginTime']=date('Y-m-d');
print_r( $_SESSION)查看有哪些数据;
读取数据:
session_start();
print_r( $_SESSION);
删除数据
session_destroy();//销毁当前会话
unset($_session['userName']);//销毁当前会话
cookie-----存储在客户端
默认路径:当前文件
写:setcookie('键名','值');//当浏览器关闭结束,
setcookie('time',time(),time()+3600*24,'/');//第三个参数保存一天的时间,第四个参数设置路径,setcookie('time',time(),null,'localhost');//第四个参数,是设置域名,或IP
读:print_r($_COOKIE);
删除:setcookie('time','',time()-1),与写入相同,写过去时间,
tp中使用会话
session方法:
写---session('name','hah');
读----dump(session('name'));
dump(session());//获取所有session的值
dump(session('?loginTime'));//判断里面是否有loginTime;
删除:
- session('[destroy]');//销毁数据
cookie方法:
cookie('name','hah',array('prefix'=>'think_'));//设置前缀,访问:think_name
获取值:
如果设置了cookie前缀的话:
- $value = $_COOKIE['前缀+name'];
如果没有设置了cookie前缀的话: - $value = cookie('name');
获取所有的cookie: - $value = cookie();
删除:
- cookie(null); // 清空当前设定前缀的所有cookie值cookie(null,'think_'); // 清空指定前缀的所有cookie值
登录
__initialize ---调用本类的所有方法时,会先调用此方法,用来判断是否已经登录
所有控制器都要判断的话,就单独拿出来,作为公用方法,其他的继承就可以,CommonController.class.php