欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php header()怎么设置cookie

程序员文章站 2022-03-12 19:01:44
...

在php中,header()函数用于向客户端发送原始的HTTP报头,可以通过“header("Set-Cookie:xxxxxxxxxxxxxxxx",false);”的形式来设置cookie。

php header()怎么设置cookie

本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑

header() 函数向客户端发送原始的 HTTP 报头。

header输出cookie

set cookie函数,如果想要生效,也是通过header设置浏览器端进而生效的。所以通过header输出也是可行的。那么关于写出几条等价的header操作,大家对比学习一下:

header("Set-Cookie:cookie_name1_cp=" . urlencode("浏览器关闭失效"));
setcookie("cookie_name1", "浏览器关闭失效");

php header()怎么设置cookie

更多编程相关知识,请访问:编程视频!!

说明:

我们知道,php的setcookie和header都可以设置cookie。但是使用header的时候,还有个注意事项:那就是header和setcookie之间的先后顺序,甚至header和header之间的先后顺序。

header("Set-Cookie:")会清除掉:本语句调用之前的,所有的header("Set-Cookie:")和setcookie(setrawcookie)的效果。见下面的例子,设置了四个cookie。但是实际上只有一个生效。因为另外三个被最后一个给冲掉了。

header("Set-Cookie:cookie_name1_cp=" . urlencode("浏览器关闭失效"));
setcookie("cookie_name1", "浏览器关闭失效");
setcookie("cookie_name3", "设置有效域名/https/httponly", time() + 3600*24, "/", $_SERVER['SERVER_NAME'], isset($_SERVER["HTTPS"]),true);
header("Set-Cookie:cookie_name3_cp=" . urlencode("设置有效域名/https/httponly") . "; expires=" . gmstrftime("%a, %d-%b-%Y %H:%M:%S GMT", time() + 3600*24) . "; Max-Age=3600; path=/; domain= ".$_SERVER['SERVER_NAME']."; httponly");

php header()怎么设置cookie

php header()怎么设置cookie

解决方法:

为header增加第二个参数,false。就是说:

header("Set-Cookie:xxxxxxxxxxxxxxxx",false);

例如:

header("Set-Cookie:cookie_name3_cp=" . urlencode("设置有效域名/https/httponly") . "; expires=" . gmstrftime("%a, %d-%b-%Y %H:%M:%S GMT", time() + 3600*24) . "; Max-Age=3600; path=/; domain= ".$_SERVER['SERVER_NAME']."; httponly;");
header("Set-Cookie:cookie_name3_cp2=" . urlencode("设置有效域名/https/httponly") . "; expires=" . gmstrftime("%a, %d-%b-%Y %H:%M:%S GMT", time() + 3600*24) . "; Max-Age=3600; path=/; domain= ".$_SERVER['SERVER_NAME']."; httponly;",FALSE);

这样的话,使用了false参数的header就不会冲突掉原有的了。具体可以参见header的php函数说明:

void header ( string $string [, bool $replace = true [, int $http_response_code ]] )

我们的false,设置的就是参数$replace,就是不替换已有同类型header的意思。注意是“同类型”。

更多编程相关知识,请访问:编程视频!!

以上就是php header()怎么设置cookie的详细内容,更多请关注其它相关文章!