记录php开发中遇到的问题
1、PHP中的cookie路径问题2、Thinkphp3.2.3中的cookie和session3、thinkphp中碰到的问题
1、PHP中的cookie路径问题
cookie保存时是有路径的,在访问子路径时,会包含其父路径的Cookie,而在访问父路径时,不包含子路径的Cookie。
比如:
http://localhost/Index 目录下的cookie,c1;http://localhost/Index/glist 目录下的cookie,c2; 如果访问地址1,那么只能访问c1,而访问不了c2,访问目录2时可以同时访问c1和c2。所以如果在开发过程中读取不了cookie的值,那么就看看cookie的路径
2、Thinkphp3.2.3中的cookie和session
Thinkphp中cookie的默认保存位置是"/"根目录,可以通过配置里COOKIE_PATH进行修改;cookie(‘name’,’’)和session(‘name’,’’)不会保存,我试了几次,发现Thinkphp中cookie和session不能保存空值;cookie(null); // 清空当前设定前缀的所有cookie值,注意只删除设定有前缀的cookie,如果没有设定前缀则不删除 cookie(null,‘think_’); // 清空指定前缀的所有cookie值;在模板中用I方法调用session数组,I方法不支持两个"."操作,所以{:I(‘session.user.userid’)}是不行的,需要这样调用:{:I(‘session.user’)[‘userid’]}
3、thinkphp中碰到的问题
save方法的返回值是影响的记录数,如果返回false则表示更新出错,因此一定要用恒等来判断是否更新失败。如果更新的内容和原数据库里的内容一样,那么返回的影响记录数为0,所以不能用if(result)来判断是否更新成功。