zoukankan      html  css  js  c++  java
  • PHP setcookie() 函数

    定义和用法

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

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

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

    必须在任何其他输出发送前对 cookie 进行赋值。

    如果成功,则该函数返回 true,否则返回 false。

    语法

    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:

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

    例子 2

    检索 cookie 值的不同方法:

    代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><html>
    <body>
    
    <?php
    
    // 输出个别的 cookie
    echo $_COOKIE["TestCookie"];
    echo "<br />";
    echo $HTTP_COOKIE_VARS["TestCookie"];
    echo "<br />";
    
    // 输出所有 cookie
    print_r($_COOKIE);
    ?>
    
    </body>
    </html>

    输出:

    my cookie value
    my cookie value
    Array ([TestCookie] => my cookie value)

    例子 3

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

    Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?php
    // 把失效日期设置为一小时前
    setcookie ("TestCookie", "", time() - 3600);
    ?>
    
    <html>
    <body>
    按 Ctrl+C 复制代码

    例子 4

    创建一个数组 cookie:

    Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?php
    setcookie("cookie[three]","cookiethree");
    setcookie("cookie[two]","cookietwo");
    setcookie("cookie[one]","cookieone");
    
    // 输出 cookie (在重载页面后)
    if (isset($_COOKIE["cookie"]))
      {
      foreach ($_COOKIE["cookie"] as $name => $value)
        {
        echo "$name : $value <br />";
        }
      }
    ?>
    
    <html>
    <body> 
    ...
    ...
    按 Ctrl+C 复制代码

    输出:

    three : cookiethree
    two : cookietwo
    one : cookieone

    康盛产品中的应用:

    Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->three : cookiethree
    two : cookietwo
    one : cookieone    康盛产品中的应用:  代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->/**
     * 01.cookie设置
     * */
    function ssetcookie($var, $value, $life=0) {
        global $_SGLOBAL, $_SC, $_SERVER;
        setcookie($_SC['cookiepre'].$var, $value, $life?($_SGLOBAL['timestamp']+$life):0, $_SC['cookiepath'], $_SC['cookiedomain'], $_SERVER['SERVER_PORT']==443?1:0);
    }

    内容摘自:http://www.cnblogs.com/xiaochaohuashengmi/archive/2010/05/28/1746282.html

  • 相关阅读:
    ACTIVE OBJECT 模式
    Node.js
    WordPress — 突破性能瓶颈,使用 WordPress 站群做 SEO 推广
    HttpRequest.Item 属性 和 HttpRequest.QueryString 属性的区别!
    Regex.Replace 方法的性能!(090625最新修改)
    FACTORY 模式
    Indexof String By Byte[]
    [11]DIP:依赖倒置原则
    C#.Net Winform skin 皮肤 大全(转)
    C# 情缘
  • 原文地址:https://www.cnblogs.com/sunny_blog/p/2482280.html
Copyright © 2011-2022 走看看