php中setcookie() 函数用法介绍

LotusPhp 的 Cookie 组件也是非常简单易用的。

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

首先,要新建一个配置文件,文件名为 cookie.conf.php,至于放在哪里等到讲到
Config 组件的时候会有一个阐述,今天先说怎么用,需要哪些步骤。

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

澳门新葡萄京官网首页 ,Cookie 配置文件的主要内容就是定义 Cookie 的加密密匙,程序里自动对 Cookie
内容进行加密,当然这样有一个弊端,就是客户端无法直接读取和操作,只能服务器来操作。如果你要直接用
js 在客户端操作 Cookie ,那最好还是不要用 LotusPhp 的 Cookie 组件。

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

密匙可以是任意字符,配置文件内容如下:
复制代码 代码如下:
$config[‘cookie.secret_key’] = ‘sdfs445e22$$$@%T’;

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

组件的使用方法如下:
复制代码 代码如下:
// 单例模式声明 Cookie 对象
$cookie = LtObjectUtil::singleton(‘LtCookie’);

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

// 或者用常规方式声明  Cookie 对象
// $cookie = new LtCookie();
// $cookie->init();

语法
setcookie(name,value,expire,path,domain,secure)

/*
 * 写入 Cookie ,设置 Cookie 的方法其实和 php 内置的setcookie
是一样一样的
 * $name Cookie 名称,必填项
 * $value Cookie 值,可以是字符串可以是数组
 * $expire
过期时间,是一个标准的Unix时间标记,可以用time()或mktime()函数取得,以秒为单位,选填
 * $path Cookie 路径,选填
 * $domain Cookie 域名,选填,如果多个二级域名之间共享 Cookie
,就设置为根域名即可
 * $secure 参数表示这个Cookie是否通过加密的 HTTPS
协议在网络上传输,默认值为0,就是代表不是使用 HTTPS
协议,如果是的话改成1
 * 方法: $cookie->setCookie($name, $value = ”, $expire = null,
$path = ‘/’, $domain = null, $secure = 0);

 * 范例 :userName 值为 ‘我是帅哥’
,有效期为一个小时,路径为根目录,域名为 myDomain.com ,不在 HTTPS
下传输
 * $cookie->setCookie(‘userName’, ‘我是帅哥’, time()+3600, ‘/’,
‘myDomain.com’, 0);
 */
$cookie->setCookie(‘userName’, ‘我是帅哥’);

 代码如下

/*
 * 读取 Cookie
 * $name Cookie 名称,必填项
 * 方法: $cookie->getCookie($name);
 * 如果 Cookie 值存在会返回值,不存在返回null
 */
$cookie->getCookie(‘userName’);

makecookie(‘111′,’www.111cn.net’);
//清除cookie
clearcookies();

/*
 * 删除 Cookie
 * $name Cookie 名称,必填项
 * $path Cookie 路径,选填
 * $domain Cookie 域名,选填,如果多个二级域名之间共享 Cookie
,就设置为根域名即可
 * 方法: $cookie->delCookie($name, $path = ‘/’, $domain = null)
 */
$cookie->delCookie(‘userName’);

//下面兴一个支持二级域名cookie函数吧。

 最后,附上php 操作 Cookie 的文章,大家可以对照下,其实 LotusPhp 设置
Cookie 和 Php 设置 Cookie 是一样的

function setcookielive($name, $value=”, $expire=0, $path=”,
$domain=”, $secure=false, $httponly=false) {
    //set a cookie as usual, but also add it to $_cookie so the current
page load has access
    $_cookie[$name] = $value;
    return
setcookie($name,$value,$expire,$path,$domain,$secure,$httponly);
}
//调用方法

在PHP中设置、使用、删除Cookie的解决方法

setcookielive(‘webab’,’111cn’,time()+86000,’/’,’111cn.net’);

//一入门级cookie设置方法

setcookie(“cookie[three]”, “cookiethree”);
setcookie(“cookie[two]”, “cookietwo”);
setcookie(“cookie[one]”, “cookieone”);

// after the page reloads, print them out
if (isset($_cookie[‘cookie’])) {
    foreach ($_cookie[‘cookie’] as $name => $value) {
        echo “$name : $value <br />n”;
    }
}

js获取 cookie方法

 代码如下

<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html;
charset=UTF-8″>
<title>Insert title here</title>
</head>
<body>
<script type=”text/javascript”>
//get cookie
function getCookie(name) {
     var nameEQ = name + “=”;
     var ca = document.cookie.split(‘;’);
     for(var i=0;i < ca.length;i++) {
         var c = ca[i];
         while (c.charAt(0)==’ ‘) {
             c = c.substring(1,c.length);
         }
         if (c.indexOf(nameEQ) == 0) {
             return unescape(c.substring(nameEQ.length,c.length));
         }
     }
     return false;
}

//clear cookie
function clearCookie(name) {
    setCookie(name, “”, -1);
}

//set cookie
function setCookie(name, value, seconds) {
     seconds = seconds || 0;
     var expires = “”;
     if (seconds != 0 ) {
         var date = new Date();
         date.setTime(date.getTime()+(seconds*1000));
         expires = “; expires=”+date.toGMTString();
     }
     document.cookie = name+”=”+escape(value)+expires+”; path=/”;
}
alert(getCookie(‘test2’));
</script>
</body>
</html>

发表评论

电子邮件地址不会被公开。 必填项已用*标注