记录php开发中遇到的问题

本文探讨了PHP中cookie路径问题,指出在访问不同路径时对cookie的访问限制,并提供了解决读取不到cookie值的建议。接着,详细介绍了Thinkphp3.2.3框架中cookie和session的使用,包括设置、清除以及注意事项,如不能保存空值。最后,提到了Thinkphp的save方法返回值的判断技巧,强调了正确检查更新操作是否成功的标准。

1、PHP中的cookie路径问题

cookie保存时是有路径的,在访问子路径时,会包含其父路径的Cookie,而在访问父路径时,不包含子路径的Cookie。

比如:

  1. http://localhost/Index 目录下的cookie,c1;
  2. http://localhost/Index/glist 目录下的cookie,c2;
    如果访问地址1,那么只能访问c1,而访问不了c2,访问目录2时可以同时访问c1和c2。所以如果在开发过程中读取不了cookie的值,那么就看看cookie的路径

2、Thinkphp3.2.3中的cookie和session

  1. Thinkphp中cookie的默认保存位置是"/"根目录,可以通过配置里COOKIE_PATH进行修改;
  2. cookie(‘name’,’’)和session(‘name’,’’)不会保存,我试了几次,发现Thinkphp中cookie和session不能保存空值;
  3. cookie(null); // 清空当前设定前缀的所有cookie值,注意只删除设定有前缀的cookie,如果没有设定前缀则不删除
    cookie(null,‘think_’); // 清空指定前缀的所有cookie值;
  4. 在模板中用I方法调用session数组,I方法不支持两个"."操作,所以{:I(‘session.user.userid’)}是不行的,需要这样调用:{:I(‘session.user’)[‘userid’]}

3、thinkphp中碰到的问题

  1. save方法的返回值是影响的记录数,如果返回false则表示更新出错,因此一定要用恒等来判断是否更新失败。如果更新的内容和原数据库里的内容一样,那么返回的影响记录数为0,所以不能用if(result)来判断是否更新成功。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值