免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5272 | 回复: 2
打印 上一主题 下一主题

PHP程序不能设置cookie情况总结[待续] [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-29 14:02 |只看该作者 |倒序浏览
转载请署名 achieverain,谢谢

经常见人问PHP程序无法设置cookie。下面把我遇见过的情况都说一遍

1 PHP程序在执行setcookie之前有输出。

   解决 :
    把setcookie之前的程序检查一下,是否在PHP代码<?php 之前有回车或者空格。
   或者:
    在程序的最开头执行一次 ob_start();

2 PHP cookie生命太短,还未生效就已死亡

    此项问题的查看可以在PHP程序中执行 time();看看服务器时间与本地时间差是否超过生存时间
    解决 :修改服务器时间或增长cookie生命。

3 PHP cookie作用域不对

    先把cookie的作用域设置成 / ,看是否有问题。如果问题解决,再设置成正确的作用域

4 用户禁止使用cookie

      这个不是程序的错了。不过可以使用带参数url传递cookie的值或者session来解决。
   

5 其他问题
    可以在本文跟贴,http://bbs.chinaunix.net/viewthread.php?tid=930393&extra=page%3D1
我会逐步添加,或者给我来信也可以 jstel(#)126(.)com

6 感谢三楼的fjytzh 的补充,这种情况多出在比较老点的程序中。这种效果相当于register_global=on.
     好多程序(例如:论坛)都有把 $_COOKIE , $_GET , $_POST 的值 extract 出来
     然后 再 $_COOKIE ,$_GET , $_POST 等值 unset 掉.
      这种事情比较水,我也没有预防的办法。只有在开发的时候注意。

当然后面用$_COOKIE['XXXX']访问就访问不到咯
7  最白痴的问题

    cookie值为空,这个怎么做就不用我说了吧

[[i] 本帖最后由 achieverain 于 2007-4-29 23:02 编辑 [/i]]

论坛徽章:
0
2 [报告]
发表于 2007-04-29 15:01 |只看该作者
在PHP代码<?php 之前有回车....

这点我之前没有注意过...

论坛徽章:
0
3 [报告]
发表于 2007-04-29 17:15 |只看该作者
还有个挺白痴的问题
好多程序(例如:论坛)都有把 $_COOKIE , $_GET , $_POST 的值 extract 出来
然后 再 $_COOKIE ,$_GET , $_POST 等值 unset 掉

当然后面用$_COOKIE['XXXX']访问就访问不到咯

这适合用修改其他完整的系统的情况。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP