首页 > 后端开发 > 正文

php中cookie有什么用法

2024-12-26 11:52:54 | 我爱编程网

今天我爱编程网小编整理了php中cookie有什么用法相关信息,希望在这方面能够更好帮助到大家。

本文目录一览:

php中cookie有什么用法

php setcookie(name, value, expires, path, domain,

setcookie() 定义一个和其余的 HTTP 标头一起发送的 cookie 和其它标头一样 cookie 必须在脚本的任何其它输出之前发送(这是协议限制) 这 需要将本函数的调用放到任何输出之前 包括 <> 和 <head> 标签以及任何空格 如果在调用 setcookie() 之前有任何输出 本函数将失败并返回 FALSE 如果 setcookie() 函数成功运行 将返回 TRUE 这并不说明用户是否接受了 cookie 函数定义 bool setcookie ( string name [ string value [ int expire [ string path [ string domain [ bool secure]]]]] ) setcookie() 参数详解

参数        说明 举例 name cookie的名字 使用 $_COOKIE[ cookiename ] 调用名为 cookiename 的 cookie value cookie的值 存放在客户端 不要存放敏感数据 假定 name 是 cookiename 可以通过 $_COOKIE[ cookiename ] 取得其值 expire

Cookie 过期的时间 这是个 Unix 时间戳 即从 Unix 纪元开始的秒数

换而言之 通常用 time() 函数再加上秒数来设定 cookie 的失效期

或者用 mktime() 来实现

time()+ * * * 将设定 cookie 天后失效 我爱编程网

如果未设定 cookie 将会在会话结束后(一般是浏览器关闭)失效

path Cookie 在服务器端的有效路径

如果该参数设为 / 的话 cookie 就在整个 domain 内有效

如果设为 /foo/ cookie 就只在 domain 下的 /foo/ 目录及其子目录内有效 例如 /foo/bar/

默认值为设定 cookie 的当前目录

domain 该 cookie 有效的域名

要使 cookie 能在如 example 域名下的所有子域都有效的话 该参数应该设为 example

虽然 并不必须的 但加上它会兼容更多的浏览器

如果该参数设为 example 的话 就只在 子域内有效

细节见Cookie 规范中的 tail matching

secure

指明 cookie 是否仅通过安全的 HTTPS 连接传送

当设成 TRUE 时 cookie 仅在安全的连接中被设置 默认值为 FALSE

例子 setcookie() 发送例子

复制代码 代码如下: $value = something from somewhere ; setcookie("TestCookie" $value); setcookie("TestCookie" $value time()+ ); /* expire in hour */ setcookie("TestCookie" $value time()+ "/~ra *** us/" " utoronto ca" );

注意 cookie 中值的部分在发送的时候会被自动用 urlencode 编码并在接收到的时候被自动解码并把值赋给与自己同名的 cookie 变量 如果不想这样并且在使用 PHP 的话 可以用 setrawcookie() 来代替 下面这个简单的例子可以得到刚才所设定的 cookie 的值

复制代码 代码如下: <?php // 输出单独的 cookie echo $_COOKIE["TestCookie"]; echo $HTTP_COOKIE_VARS["TestCookie"]; // 另一个调试的方法就是输出所有的 cookie print_r($_COOKIE); ?>

要删除 cookie 需要确保它的失效期是在过去 才能触发浏览器的删除机制 下面的例子说明了如何删除刚才设置的 cookie 例子 setcookie() 删除例子

复制代码 代码如下: // 将过期时间设为一小时前 setcookie("TestCookie" "" time() ); setcookie("TestCookie" "" time() "/~ra *** us/" " utoronto ca" );

也可以通过在 cookie 名称中使用数组符号来设定数组 cookie 可以设定多个 cookie 作为数组单元 在脚本提取 cookie 时所有的值都放在一个数组种 例子 setcookie() 中使用数组的例子

复制代码 代码如下: <?php // 设定 cookie setcookie("cookie[three]" "cookiethree"); setcookie("cookie[o]" "cookieo"); setcookie("cookie[one]" "cookieone"); // 刷新页面后 显示出来 if (isset($_COOKIE[ cookie ])) { foreach ($_COOKIE[ cookie ] as $name => $value) { echo "$name : $value <br />n"; } } ?> lishixinzhi/Article/program/PHP/201311/21055

php中cookie有什么用法

cookie详解

深入理解Cookie

Cookie,一种用于在远程浏览器端存储数据并追踪识别用户的机制。实现上,它存储在客户端上,通过HTTP协议与服务器端交互。尽管从严格意义上讲,Cookie并非特定语言所实现,而是通过这些语言间接操作实现。例如,PHP通过发送HTTP指令,浏览器收到指令后操作Cookie并返回给服务器。这表明Cookie由浏览器管理和实现。

例如,PHP并未直接设置Cookie,而是发出指令让浏览器完成这一任务。在PHP中,可以使用setcookie() 或 setrawcookie() 函数设置Cookie,但最后返回值为true或false仅表示函数调用成功,不一定代表客户端接收到Cookie。设置Cookie时需注意:成功调用函数不代表客户端一定能接收到Cookie,Cookie从服务器传至浏览器,下个页面才能看到;对于JavaScript设置的Cookie,其效果立即生效。

Cookie通常用于存储非敏感信息,如进行登录控制,实现免密码登录,防止刷票等。每个域名下允许的Cookie数量有限,且浏览器限制不同。Cookie并非越多越好,过多会增加宽带和流量消耗,应避免滥用。

Flash还创建了一种称为Flash Shard Object的Cookie,即Flash Cookie,即使清空浏览器隐私数据,这类Cookie仍可能存在于硬盘上。它们仅受Flash管理,很多网站使用此技术识别用户。

跨域Cookie主要目的是统一应用平台,实现单点登录。需使用P3P协议,通过此协议允许用户指定浏览器隐私策略,存储第三方Cookie。跨域涉及两个应用,称为第一方和第三方,第三方可能来自广告或Iframe的其他网站。

Cookie格式中存储的信息都是文本,在客户端和服务器端交互过程中,信息附加在HTTP消息头中传递。信息由键/值对组成。

Cookie中的信息包含Cookie本身属性和用户自定义属性,一个Cookie只能包含一个自定义键/值对。Cookie属性包括Comment、Domain、Max-Age、Path、Secure和Version等。

Cookie创建通常在服务器端进行,然后附加在HTTP消息头中传至客户端。如果设置有效期限,Cookie将保存在客户端本地磁盘。Cookie以文本文件形式保存,内容不会被执行破坏客户端机器。

Cookie基础操作包括存取、读取和设置有效期。会话(Session)则记录客户端和服务器端的持久信息,通常保存在内存,不保存在磁盘上。会话可通过Cookie机制实现,对于不支持Cookie的客户端,可采用URL重写方式实现。

Cookie域概念包括路径解决同一域下访问Cookie问题。通过设置Cookie的domain和path属性,可以实现不同子域名下的Cookie共享。安全性方面,Cookie信息通常使用HTTP连接传递,容易被查看,因此存储敏感信息时需加密传输。

Session是客户端和服务器间保持会话状态的机制,本质上与Cookie没有区别,都是针对HTTP协议局限性提出的一种解决方案。Session记录用户在浏览某个网站时的会话,用于在不同页面间传递变量、用户身份认证等信息。常见形式是与Cookie配合使用,实现用户登录状态保存。Session通过sessionID判断客户端用户,存储在服务器端或客户端,过期后自动回收。

与Cookie相比,Session在服务器端保存数据,而Cookie在客户端浏览器。Session存储在服务器文件、数据库或内存中,依赖sessionID,如果浏览器禁用Cookie,Session同样失效。Session可存放文件、数据库或内存中,用户验证通常使用Session。维护会话的核心是客户端唯一标识,即sessionID。

总结,Cookie和Session是用于跟踪用户状态的机制。Cookie存储在客户端浏览器,记录用户信息,实现Session的一种方式。Session则在服务器端保存数据结构,跟踪用户状态,可以存储在集群、数据库、文件等。两者均用于管理会话状态,但位置、存储方式和实现细节有所不同。

php中cookie有什么用法

我爱编程网(https://www.52biancheng.com)小编还为大家带来php中cookie有什么用法的相关内容。


php中cookie可以用来实现自动填写该用户的用户名和密码,以及判断是否是第一次登录。cookie是一种服务器留在用户计算机上的小文件。当同一台计算机通过浏览器请求页面时,这台计算机将会发送cookie。
cookie定义及用法介绍:
cookie 是一种服务器留在用户计算机上的小文件。
(推荐教程:php图文教程)
每当同一台计算机通过浏览器请求页面时,这台计算机将会发送 cookie。通过 PHP,您能够创建并取回 cookie 的值。
举例:
添加/更新/删除/获取Cookie
<?php
//添加cookie
setcookie("name","zxf",time()+3600);
//数组

/$arr = array(1,2,3);
$arr_str = serialize($arr);
setcookie("a",$arr_str,time()+3600);

//获取cookie

var_dump($_COOKIE);

//更新cookie

setcookie("name","aaa",time()+3600);

//删除cookie

setcookie("name","",time()-20);

//删除所有

foreach ($_COOKIE as $key => $value) {
setcookie($key,"",time()-1);
}
echo "成功";
?>如果你删除的cookie的key=>val没有删除完,则这个cookie在客户端保留,如果把这个网站的cookie都删除的,则浏览器会把cookie文件删除。
(视频教程推荐:php视频教程)
判断是否第一次登录
<?php

//先判断cookie里是否有上次的登录信息

if(!empty($_COOKIE[‘lastVisit'])){

echo “你上次登陆的时间是”.$_COOKIE[‘lastViat'];

//更新时间

setcookie(“lastVisit”,”data(Y-m-d H:i:s)”, time()+3600);

}else{

//说明用户是第一次登陆

echo”第一次登陆”;

//更新时间

setcookie(“lastViait”,”data(“Y-m-d H:i:s”)”, time()+3600);

}
?>打开登录界面的时候,自动填写该用户的用户名和密码。
checklogin.php
//获取用户是否选中了保存id

if(!empty($_POST[‘cookie'])){

setcookie(“id”,$id,time()-100);

}else{

if(!empty($_COOKIE[‘id'])){

setcookie(“id”,$id,time()-10);

}
}

以上,就是我爱编程网小编给大家带来的php中cookie有什么用法全部内容,希望对大家有所帮助!更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“php中cookie有什么用法”相关推荐
php4的版本下cookie的设置与php5下的设置有什么区别??
php4的版本下cookie的设置与php5下的设置有什么区别??

析构函数会在何时被调用?在PHP5中,引入了一个关键的构造函数概念,它在类的生命周期中扮演着类似C++中的角色。当对象的引用全部消失或对象被主动销毁时,析构函数便会被执行。示例如下:phpclassMyDestructableClass{function__construct(){print"Inconstructor/n";$this-name="MyDestruct

2024-12-14 19:29:47
php 中&有什么用
php 中&有什么用

PHP判断变量是否为空empty()函数PHPempty()函数,作用:检测变量是否申明或者设置。若变量已设置,并且变量不为空,不为零,则返回false值;反之返回true值。示例:&lt;?php$var="百度知道";if(empty($var)){echo "为空!";}else{echo "不为空!";}//由于变量var已经赋值,不为空,所以执行结果为:不为空!?&gt

2024-11-12 12:27:16
ThinkPHP中M方法与D方法有什么区别
ThinkPHP中M方法与D方法有什么区别

ThinkPhp中M和D的区别两个有共同点,都是实例化对象用的。但是D函数实例化的是你当前项目的Lib/Model下面的模块如果该模块不存在的话直接返回实例化Model的对象(意义就与M()函数相同)而M只返回实例化Model的对象..它的$name参数作为数据库的表名来处理对数据库的操作通俗点说,D就是实例化一个基于Model文件的Model,而M则是通过直接实例化Mode

2024-12-02 00:56:29
php中“ ob_start()”有什么作用呢?
php中“ ob_start()”有什么作用呢?

php中“ob_start()”有什么作用呢?开启缓冲区,缓冲器清除。一、OutputControl函数可以让你自由控制脚本中数据的输出。它非常地有用,特别是对于:当你想在数据已经输出后,再输出文件头的情况。输出控制函数不对使用header()或setcookie(),发送的文件头信息产生影响,只对那些类似于echo()和PHP代码的数据块有作用。二、程序代码&lt

2024-10-12 07:35:44
PHP中,function是什么意思?有什么作用?
PHP中,function是什么意思?有什么作用?

PHP中,function是什么意思?有什么作用?function就是自定义函数如:functionjia($a){$b=$a+10;return$b;}以上就是一个自定义函数,下面看看怎么使用它echojia(‘10’);显示结果为20//这里jia就是自定义的函数名,这样只要给$a任何数字返回的结果都为+10的结果,这样就是自定义了一个函数,这个

2024-07-14 01:22:18
php引用传递中的&什么意思,有什么用?
php引用传递中的&什么意思,有什么用?

php引用传递中的&什么意思,有什么用?其实图片中的文字已经描述得很详细了,如果你是循序渐进学到这里的,应该是可以理解的啊。加了&amp;就是引用传递,就是把实参的内存地址传递给函数内部的形参,这样的话函数内部对形参的任何修改都会直接影响到外部的实参,也就是说这种情况下实参和形参其实是同一个变量;而不加&amp;则是值传递,就是把实参的值传递给函数内部的形参,这时候函数内部对形参的任

2024-10-12 16:21:53
为什么PHP中没有mian方法和mian函数?
为什么PHP中没有mian方法和mian函数?

为什么PHP中没有mian方法和mian函数?PHP中的代码执行方式决定了其不需要像C/C++,Java等语言那样使用main方法或main函数。主要原因有:1.PHP是服务端脚本语言,代码是被web服务器(如Apache)按需调用和执行的,而不是像C/C++那样由操作系统直接执行。2.PHP页面可以有多个入口点,一个页面可以包含多个函数和类,不依赖单一的main函数。3

2024-08-05 23:00:43
cookie的如何删除
cookie的如何删除

cookie的如何删除第一个是:新建一个有相同name名称的cookie,把value值设为空,然后设置它生存时间为0比如要删除一个名叫username的cookie:Cookiec=newCookie(username,);c.setMaxAge(0);response.addCookie(c);第二个是*(vista中):在桌面按F1,弹出帮助,输入cookie,选择删除Int

2024-11-21 02:41:41