定义和用法

setcookie() 函数向客户端发送一个 HTTP cookie。

cookie 是由服务器发送到浏览器的变量。cookie 通常是服务器嵌入到用户计算机中的小文本文件。每当计算机通过浏览器请求一个页面,就会发送这个 cookie。

cookie 的名称指定为相同名称的变量。例如,如果被发送的 cookie 名为 "name",会自动创建名为 $user 的变量,包含 cookie 的值。

对 cookie 进行赋值之前不能有任何输。如果成功,则该函数返回 true,否则返回 false。

注意:cookie设置以后必须刷新以后才能生效。

语法

  1. setcookie(name,value,expire,path,domain,secure)
参数 描述
name 必需。规定 cookie 的名称。
value 必需。规定 cookie 的值。
expire 可选。规定 cookie 的有效期。
path 可选。规定 cookie 的服务器路径。
domain 可选。规定 cookie 的域名。
secure 可选。规定是否通过安全的 HTTPS 连接来传输 cookie。

提示和注释

注释:可以通过 $HTTP_COOKIE_VARS["user"] 或 $_COOKIE["user"] 来访问名为 "user" 的 cookie 的值。

注释:在发送 cookie 时,cookie 的值会自动进行 URL 编码。接收时会进行 URL 解码。如果你不需要这样,可以使用 setrawcookie() 代替。

例子 1

设置并发送 cookie:

  1. <?php
  2. $value = "my cookie value";
  3. // 发送一个简单的 cookie
  4. setcookie("TestCookie",$value);
  5. ?><html><body>......
  1. <?php
  2. $value = "my cookie value";
  3. // 发送一个 24 小时候过期的 cookie
  4. setcookie("TestCookie",$value, time()+3600*24);
  5. ?><html><body>......

例子 2

检索 cookie 值的不同方法:

  1. <html><body><?php
  2. // 输出个别的 cookie
  3. echo $_COOKIE["TestCookie"];
  4. echo "<br />";
  5. echo $HTTP_COOKIE_VARS["TestCookie"];
  6. echo "<br />";
  7. // 输出所有 cookie
  8. print_r($_COOKIE);
  9. ?></body></html>

输出:

  1. my cookie value
  2. my cookie value
  3. Array ([TestCookie] => my cookie value)

例子 3

通过把失效日期设置为过去的日期/时间,删除一个 cookie:

  1. <?php
  2. // 把失效日期设置为一小时前
  3. setcookie ("TestCookie", "", time() - 3600);
  4. ?><html><body>......

例子 4

创建一个数组 cookie:

  1. <?php
  2. setcookie("cookie[three]","cookiethree");
  3. setcookie("cookie[two]","cookietwo");
  4. setcookie("cookie[one]","cookieone");
  5. // 输出 cookie (在重载页面后)
  6. if (isset($_COOKIE["cookie"])){
  7. foreach ($_COOKIE["cookie"] as $name => $value){
  8. echo "$name : $value <br />";
  9. }
  10. }
  11. ?><html><body>......

输出:

  1. three : cookiethree
  2. two : cookietwo
  3. one : cookieone

例子 5

关于设置cookie后不生效的问题。通常是没设置作用域的原因

  1. <?php
  2. setcookie("a","bb",time()+3600,"/",".hi-docs.com");
  3. // 注意把域名设置为自己的
  4. ?>

PHP setcookie()用法的更多相关文章

  1. PHP之cookie相关实例教程与经典代码

    ·php 中cookie和session的用法比较 ·php会话控制cookie与Session会话处理 ·php中利用cookie实现购物车实例 ·php中cookie与session应用学习笔记 ...

  2. php中setcookie函数用法详解(转)

    php中setcookie函数用法详解:        php手册中对setcookie函数讲解的不是很清楚,下面是我做的一些整理,欢迎提出意见.        语法:        bool set ...

  3. php 中session_set_cookie_params 和 setcookie 函数的区别与用法

    session_set_cookie_params() 函数不管刷不刷新页面,都不会改变cookie的过期时间, 但setcookie() 函数页面每刷新一次,cookie 的过期时间就会刷新一次. ...

  4. PHP的ob_start()函数用法

    经典参考片段: <?php ob_start(); echo '123'; echo '456'; echo '789'; $content = ob_get_contents(); ob_en ...

  5. 【转】C#中HttpWebRequest的用法详解

    本文实例讲述了C#中HttpWebRequest的用法.分享给大家供大家参考.具体如下: HttpWebRequest类主要利用HTTP 协议和服务器交互,通常是通过 GET 和 POST 两种方式来 ...

  6. php---PHP setcookie()

    定义和用法 setcookie() 函数向客户端发送一个 HTTP cookie. cookie 是由服务器发送到浏览器的变量.cookie 通常是服务器嵌入到用户计算机中的小文本文件.每当计算机通过 ...

  7. 【摘抄】meta系列用法总结【持续更新中】

    meta标签分两大部分:HTTP标题信息(HTTP-EQUIV)和页面描述信息(NAME). ★页面描述信息NAME变量  name是描述网页的,对应于Content(网页内容),以便于搜索引擎机器人 ...

  8. JavaScript中Cookie的用法

    Javascript中Cookie主要存储于客户端的计算机中,用于存放已访问的站点信息,Cookie最大约为4k.以下实例主要用于页面在刷新时保存数据,具体的用法如下所示: <html> ...

  9. setcookie各个参数详解

    定义和用法 setcookie() 函数向客户端发送一个 HTTP cookie. cookie 是由服务器发送到浏览器的变量.cookie 通常是服务器嵌入到用户计算机中的小文本文件.每当计算机通过 ...

随机推荐

  1. JVM体系结构之一:总体介绍

    一.Java的内存区域划分 Java 虚拟机在执行Java程序的时候会把它管理的内存区域划为几部分,这一节我们就来解析一下Java的内存区域. Java的内存区域主要分为五部分: 程序计数器(PC) ...

  2. LInux在线安装JDK

    1.查找Java相关列表: [root@localhost ~]# yum -y list java* 2.使用root用户安装安装时提醒必须使用root用户,sudo都不行. [root@local ...

  3. uboot的relocation原理详细分析

    转自:http://blog.csdn.net/skyflying2012/article/details/37660265 最近在一直在做uboot的移植工作,uboot中有很多值得学习的东西,之前 ...

  4. JS计算文件的md5

    首先需要引入js文件(二选一): https://raw.github.com/satazor/SparkMD5/master/spark-md5.js https://github.com/sata ...

  5. 集合对象与自定义javabean对象接收数据库查询的数据 (基础知识扫盲)

    一.集合对象(List,Map,数组)等对象接收数据库查询的记录,如果没有一条记录,就得到的内容为空的集合,不是null: 例如:List查不到记录得到的就是size=0的list 二.自定义的jav ...

  6. restful用法

    http://www.cnblogs.com/wen-wen/p/6149847.html一.创建services文件夹services文件夹下1.BaseService.jsclass Servic ...

  7. AI学习指南

    这是一份关于如何学习深度学习以及为AI面试做准备的指南,个人觉得写的很不错,文章中还有很多有用的资料链接,源自机器之心,下面是文章的链接: https://mp.weixin.qq.com/s/kKB ...

  8. Xuzhou Winter Camp 1C(模拟)

    #include<iostream>#include<cstdio>#include<algorithm>#include<cmath>#include ...

  9. 2017乌鲁木齐区域赛I(带权并查集)

    #include<bits/stdc++.h>using namespace std;int f[200010];//代表元long long rl[200010];//记rl[i]为结点 ...

  10. CF70D Professor's task(动态凸包)

    题面 两种操作: 1 往点集S中添加一个点(x,y); 2 询问(x,y)是否在点集S的凸包中. 数据保证至少有一个2操作, 保证刚开始会给出三个1操作, 且这三个操作中的点不共线. 题解 动态凸包板 ...