首页 >后端开发 >PHP问题 > 正文

php 设置不了cookie怎么办

原创2021-09-12 09:33:430925

php设置不了cookie的解决办法:1、在PHP程序的最开头执行一次“ob_start();”;2、修改服务器时间或增长cookie生命;3、设置正确的作用域;4、使用带参数url传递cookie的值等。

本文操作环境:Windows7系统、PHP7.1版,DELL G3电脑

php 设置不了cookie怎么办?

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、其他问题

6、感谢三楼的fjytzh 的补充,这种情况多出在比较老点的程序中。这种效果相当于register_global=on.

好多程序(例如:论坛)都有把 $_COOKIE , $_GET , $_POST 的值 extract 出来

然后 再 $_COOKIE ,$_GET , $_POST 等值 unset 掉.

这种事情比较水,我也没有预防的办法。只有在开发的时候注意。

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

7、最白痴的问题

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

在PHP代码<?php 之前有回车....

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

还有个挺白痴的问题

好多程序(例如:论坛)都有把 $_COOKIE , $_GET , $_POST 的值 extract 出来

然后 再 $_COOKIE ,$_GET , $_POST 等值 unset 掉

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

这适合用修改其他完整的系统的情况。

推荐学习:《PHP视频教程

以上就是php 设置不了cookie怎么办的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 相关标签:php cookie
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 专题推荐

    推荐视频教程
  • PHP开发APP接口项目实战PHP开发APP接口项目实战
  • PHP搭建CMS系统实战课程PHP搭建CMS系统实战课程
  • PHP的速通之路PHP的速通之路
  • 视频教程分类