本文将为大家详细介绍“php header()设置cookie的方法”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“php header()设置cookie的方法”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体内容如下,一起去收获新知识吧。
创新互联建站是一家专注于网站设计制作、成都做网站与策划设计,兴安盟乌兰浩特网站建设哪家好?创新互联建站做网站,专注于网站建设10年,网设计领域的专业建站公司;建站业务涵盖:兴安盟乌兰浩特等地区。兴安盟乌兰浩特做网站价格咨询:13518219792php是一个嵌套的缩写名称,指的是英文超级文本预处理语言(php:Hypertext Preprocessor)的缩写,它的语法混合了C、Java、Perl以及php自创新的语法,主要用来做网站开发,许多小型网站都用php开发,因为php是开源的,从而使得php经久不衰。
在php中,header()函数用于向客户端发送原始的HTTP报头,可以通过“header("Set-Cookie:xxxxxxxxxxxxxxxx",false);”的形式来设置cookie。
header() 函数向客户端发送原始的 HTTP 报头。
header输出cookie
set cookie函数,如果想要生效,也是通过header设置浏览器端进而生效的。所以通过header输出也是可行的。那么关于写出几条等价的header操作,大家对比学习一下:
header("Set-Cookie:cookie_name1_cp=" . urlencode("浏览器关闭失效")); setcookie("cookie_name1", "浏览器关闭失效");
更多编程相关知识,请访问:编程视频!!
说明:
我们知道,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");
解决方法:
为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的方法”这一关键问题有了从实践层面最深刻的体会,具体使用情况还需要大家自己动手实践使用过才能领会,如果想阅读更多相关内容的文章,欢迎关注创新互联行业资讯频道!