本文目录一览:1、php获取COOKIE后怎么使用2、如何使用PHP操作COOKIE3、php里的COOKIE怎样使用才是正确的php获取COOKIE后怎么使用php获
本文目录一览:
1、php获取COOKIE后怎么使用
2、如何使用PHP操作COOKIE
3、php里的COOKIE怎样使用才是正确的
php获取COOKIE后怎么使用
php获取COOKIE使用方法:
COOKIE和session都可以暂时保存在多个页面中使用的变量,但是它们有本质的差别。COOKIE存放在客户端浏览器中,session保存在服务器上。它们之间的联系是session ID一般保存在COOKIE中。
COOKIE工作原理
当客户访问某个网站时,在PHP中可以使用setCOOKIE函数生成一个COOKIE,系统经处理把这个COOKIE发送到客户端并保存在c:Documents and Settings用户名\COOKIEs目录下。COOKIE是HTTP标头的一部分,因此setCOOKIE函数必须在任何内容送到浏览器之前调用。这种限制与header()函数一样。当客户再次访问该网站时,浏览器会自动把c:Documents and Settings用户名\COOKIEs目录下与该站点对应的COOKIE发送到服务器,服务器则把从客户端传来的COOKIE将自动地转化成一个PHP变量。
通过$_COOKIE['xxx']读取客户端发来的COOKIE。
创建 COOKIE
通过 setCOOKIE() 函数来创建一个 COOKIE ,成功返回 TRUE ,否则返回 FALSE 。
语法:
bool setCOOKIE( string name [, string value [, int expire [, string path [, string domain ]]]] )
参数说明:
name COOKIE 名称
value 可选,COOKIE 值
expire 可选,过期时间,时间戳格式
path 可选,服务器端有效路径,/ 表示整个域名有效,默认为当前设置 COOKIE 时页面的路径
domain 可选,该 COOKIE 有效的域名
?php
setCOOKIE("username", "nostop", time()+3600); //设置了一个名称为 username 的COOKIE,其值为 xiaoli ,并在1小时候后过期。如果时间也被省略,COOKIE 将会在会话结束后(一般是浏览器关闭)失效。
?
COOKIE 会以一定格式被存储在用户计算机特定位置。
?php
setCOOKIE("username", "nostop", time()+3600, "/", ".example.com"); //在example.com 域名的 / 路径下该 COOKIE 都有效(即全站有效)。
?
读取 COOKIE
PHP 内置了 $_COOKIE 变量以访问设置的 COOKIE 值。
例子:
?php
echo $_COOKIE["username"]; //nostop
?
销毁 COOKIE
可以通过设置 COOKIE 过期时间为以前的时间点来销毁一个 COOKIE :
?php
setCOOKIE("username", "", time()-3600);
?
COOKIE注意事项
1、SetCOOKIE()之前不能有任何html输出,就是空格,空白行都不行。
2、SetCOOKIE()后,你在当前页调用echo $_COOKIE["name"]不会有输出。必须刷新或到下一个页面在过期之前才可以看到COOKIE值。
3、由于 COOKIE 信息存储于用户的计算机中,那么就有可能伪造或修改 COOKIE 从而造成 COOKIE 欺骗,一般可以对 COOKIE 的值进行加密来预防欺骗。读取 COOKIE 的时候,对 COOKIE 解密即可。
4、COOKIE是保存在客户端的,用户禁用了COOKIE,你的COOKIE自然也就没作用啦!
?php
setCOOKIE('username','nostop',time()+3600); //创建COOKIE
if(isset($_COOKIE["username"])){ //使用isset()函数检测COOKIE变量是否已经被设置
echo "您好!".$_COOKIE["username"]; //您好!nostop 读取COOKIE
}else{
echo "请登陆";
}
?
如何使用PHP操作COOKIE
PHP 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:
1 ?php
2 $value = "my COOKIE value";
3 // 发送一个简单的 COOKIE
4 setCOOKIE("TestCOOKIE",$value);
5 ?
01 html
02 body
03 ...
04 ...
05 ?php
06 $value = "my COOKIE value";
07 // 发送一个 24 小时候过期的 COOKIE
08 setCOOKIE("TestCOOKIE",$value, time()+3600*24);
09 ?
10 html
11 body
程序2:
检索 COOKIE 值的不同方法:
01 html
02 body
03 ?php
04 // 输出个别的 COOKIE
05 echo $_COOKIE["TestCOOKIE"];
06 echo "br /";
07 echo $HTTP_COOKIE_VARS["TestCOOKIE"];
08 echo "br /";
09 // 输出所有 COOKIE
10 print_r($_COOKIE);
11 ?
12 /body
13 /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 ?
程序4:
创建一个数组 COOKIE:
01 ?php
02 setCOOKIE("COOKIE[three]","COOKIEthree");
03 setCOOKIE("COOKIE[two]","COOKIEtwo");
04 setCOOKIE("COOKIE[one]","COOKIEone");
05 // 输出 COOKIE (在重载页面后)
06 if (isset($_COOKIE["COOKIE"]))
07 {
08 foreach ($_COOKIE["COOKIE"] as $name = $value)
09 {
10 echo "$name : $value br /";
11 }
12 }
13 ?
程序输出:
1 three : COOKIEthree
2 two : COOKIEtwo
3 one : COOKIEone
程序5:
view sourceprint?
1 /**
2 * 01.COOKIE设置
3 * */
4 function ssetCOOKIE($var, $value, $life=0) {
5 global $_SGLOBAL, $_SC, $_SERVER;
6 setCOOKIE($_SC['COOKIEpre'].$var, $value, $life?($_SGLOBAL['timestamp']+$life):0, $_SC['COOKIEpath'],$_SC['COOKIEdomain'], $_SERVER['SERVER_PORT']==443?1:0);
7 }
php里的COOKIE怎样使用才是正确的
setCOOKIE() 函数用于设置 COOKIE。
在下面的例子中,我们将创建名为 "user" 的 COOKIE,并为它赋值 "runoob"。我们也规定了此 COOKIE 在一小时后过期:
?php
setCOOKIE("user", "runoob", time()+3600);
?
html
.....
$_COOKIE 变量用于取回 COOKIE 的值。
?php
// 输出 COOKIE 值
echo $_COOKIE["user"];
// 查看所有 COOKIE
print_r($_COOKIE);
?
isset() 函数来确认是否已设置了 COOKIE
删除 COOKIE 时,您应当使过期日期变更为过去的时间点。
启动会话session_start() 函数必须位于 html 标签之前.
存储和取回 session 变量的正确方法是使用 PHP $_SESSION 变量:
?php
session_start();
// 存储 session 数据
$_SESSION['views']=1;
?
?php
// 检索 session 数据
echo $_SESSION['views'];
?
如果您希望删除某些 session 数据,可以使用 unset() 或 session_destroy() 函数。
望采纳,谢谢