session的作用主要在保存会话信息,在访问者浏览网站的期间,对访问者相关的信息进行记录,当浏览器关闭后,会话结束,session数据也就消失了。

    PHP框架中session是一个数组,可以通过$_SESSION[‘key’] = $value的方式对session赋值。如:

    使用session的前提,是程序已经打开session_start()。

    新版sp框架中,session_start()默认没有开启,如果需要开启,请把session_start()放在init()或者入口文件内。

    引起该问题的原因,是在session_start()之前,存在输出的header或字符。这里给以下几个建议:

    • 全局的header输出,要放在入口文件全局定义的位置,不要放入口文件的开头。当然,如果是单个header输出,如文件下载,则可以直接放到某个控制器/方法中。
    • 可以在入口文件全局定义位置中,加入ob_start();来避免出错。

    session存放的位置,是在服务器的系统临时中,所以一般而言,session文件中的内容不会被访问者浏览到。

    PHP框架中cookie的使用

    cookie的使用有几个要素:过期时间、路径、域。cookie可以通过setcookie函数设置:

    setcookie ( COOKIE名字, COOKIE值, 过期时间, 路径, 域名 );

    • 路径:默认是“/”,设置在当前域名下COOKIE生效的路径。
    • “.speedphp.com”来使得整个网站(包括二级域名)都可以读取该COOKIE。

    cookie值可以用$_COOKIE数组来获取。

    cookie测试问题