CodeIgniter 框架 SESSION 是把值存放到 cookies 中,个人不喜欢这种方式,所以还是采用PHP原有的SESSION功能,还是可以正常使用的,但在使用过程中遇到一个问题如下:
在开启 session_start(); 时,会报错,但页面上也会正常显示SESSION,于事到处找资料,
if (session_status() !== PHP_SESSION_ACTIVE) {
session_start();
}
header("Cache-control:private");
默认SESSION是未开启的,这里做一下判断就可以了,不会报错,下面的 header(“Cache-control:private”);
这行代码一定要加上,这是提交表单点击浏览器的后退按钮后,所有字段的信息都被清空了,会导致页面丢失的情况出现,在你的表单提交页面中使用了session_start 函数。该函数会强制当前页面不被缓存。解决办法为,在你的 Session_start 函数后加入header(“Cache-control: private”); 注意在本行之前你的PHP程序不能有任何输出。