PHP中Cookie的基本概念和Cookie上传和删除案例

当我们在浏览网页时,访问每一个web页面都需要使用“HTTP协议”实现,但是HTTP协议是无状态协议,就是说HTTP协议没有一个内建的机制来维护两个事物之间的状态。当一个用户请求一个页面以后,在请求同一个网站上的另外一个页面时,HTTP协议并不能告诉我们两个请求是来自同一个用户,而不能将这两次访问联系到一起,那利用什么解决呢?利用Cookie和Session可以解决。

一、Cookie

Cookie是用来将网站的资料记录在客户端的技术,这种技术让web服务器能将一些资料,存放于客户端(用户的电脑)之中。

比如:当通过验证,成功登陆网站后,在网页的PHP脚本中,会把这个用户有关的信息,设置到客户端电脑的Cookie中,当再次访问同一个网站中的其他脚本时,就会自动携带Cookie中的数据一起访问,在服务器中的每个脚本中都可以接受Cookie中的数据,不需要每访问一个页面就重新输入一次登录者的信息。

步骤:

1、向客户端(用户的电脑)电脑中设置Cookie。

Setcookie();

2、在服务器端上读取Cookie的内容

$_COOKIE

3、将多维数组应用于Cookie中

Setcookie("member[name]",‘刘科彤‘);

Setcookie("member[email]",‘[email protected]‘);

4、删除Cookie

Setcookie("member",time()-1);

案例实现:

1、往服务端里面上传Cookie数据(demo/1.php)

<?php //往服务端里面传Cookie数据
header(‘Content-type:text/html;charset=utf-8‘);
var_dump(setcookie(‘member[name]‘,‘刘科彤‘,time()+3600));
var_dump(setcookie(‘member[email]‘,‘[email protected]‘,time()+3600));
?>

2、在浏览器客户端输出Cookie里的数据(demo/2.php)

<?php //在浏览器客户端输出Cookie里的数据
header(‘Content-type:text/html;charset=utf-8‘);
var_dump($_COOKIE);
?>

3、删除name和email的Cookie数据(demo/3.php)

<?php 
var_dump(setcookie(‘member[name]‘,‘‘,time()-1000));//消除name的Cookie数据
var_dump(setcookie(‘member[email]‘,‘‘,time()-1000));//消除email的Cookie数据
?>

4、用遍历数组一次性删除name和email的Cookie数据(demo/4.php)

<?php 
foreach ($_COOKIE[‘member‘] as $key=>$value){
var_dump(setcookie("member[{$key}]",‘‘,time()-1000));
}
?>

新函数:uniqid — 生成一个唯一ID

5、假如要在不同的浏览器上传和删除数据,可以用uniqid和rand来识别不同的浏览器

(具体看demo/test文档)

时间: 2024-10-11 17:01:25

PHP中Cookie的基本概念和Cookie上传和删除案例的相关文章

SpringMVC中采用简洁的配置实现文件上传

文件上传我们一般会有两种策略,一种是通过IO流上传,还有一种是通过表单上传,其实这两种在客户端实现起来都是很简单的,在服务端处理会略有差别,个人感觉IO上传代码简单,但是也有很多硬伤,还是表单上传更合适.特别是如果我们的后台程序如果既面向移动端,又面向Web前端,那么通过表单上传无疑是最佳解决方案.OK,废话不多说,我们来看看如何通过一个最简单的配置来实现文件的上传. 我们主要通过如下几个步骤来实现这个功能: 1.引入依赖 2.创建文件上传页面 3.配置SpringMVC 4.Web配置 5.编

【项目相关】MVC中使用WebUploader进行图片预览上传以及编辑

项目中需要用到多图片上传功能,于是在百度搜了一下,首先使用了kissy uploader,是由阿里前端工程师们发起创建的一个开源 JS 框架中的一个上传组件...但,后面问题出现了. 在对添加的信息进行重新编辑的时候,这些图片怎么办?由于对js不是很熟悉,就没有想去修改这个组件的代码.只有重新寻找合适的组件,于是就找到了百度的WebUploader,下面简要描述一下该组件在MVC中的使用,包括图片的上传和预览,以及在编辑界面对图片的处理办法. 先来一张效果图: (一)图片的上传和预览 (1)下载

截取部分字符串中的内容(可做文件上传时的文件重命名)

最近的项目中要使用springmvc做一个图片上传的功能,对于图片上传的文件名的规范命名需要做一个调整,记录一下:

在EasyUI项目中使用FileBox控件实现文件上传处理

我在较早之前的随笔<基于MVC4+EasyUI的Web开发框架形成之旅--附件上传组件uploadify的使用>Web框架介绍中介绍了基于Uploadify的文件上传操作,免费版本用的是Jquery+Flash实现文件的上传处理,HTML5收费版本的没有试过.随着Flash逐渐退出整个环境,很多浏览器都可能不再支持Flash的了,因此在更新原有EasyUI整个框架的时候,我们对框架全面进行了完善,包括替换了这个Uploadify的文件上传模块,使用EasyUI内置的FileBox控件,结合Jq

Abp中SwaggerUI的接口文档添加上传文件参数类型

在使用Swashbuckle上传文件的时候,在接口文档中希望看到上传控件,但是C#中,没有FromBodyAttribute这个特性,所以需要在运行时,修改参数的swagger属性. 首先看下,最终效果: 下面介绍实现. 实现原理,通过swagger提供的filter,找到action中带有SwaggerFileUpload特性的参数,然后给swagger operaion.parameters添加一个自定义的参数,即文件类型参数即可. (1)定义SwaggerFileUploadAttribu

Android开发中使用七牛云存储进行图片上传下载

Android开发中的图片存储本来就是比较耗时耗地的事情,而使用第三方的七牛云,便可以很好的解决这些后顾之忧,最近我也是在学习七牛的SDK,将使用过程在这记录下来,方便以后使用. 先说一下七牛云的存储原理,上面这幅图片是官方给出的原理图,表述当然比较清晰了.可以看出,要进行图片上传的话可以分为五大步: 1. 客户端用户登录到APP的账号系统里面: 2. 客户端上传文件之前,需要向业务服务器申请七牛的上传凭证,这个凭证由业务服务器使用七牛提供的服务端SDK生成: 3. 客户端使用七牛提供的客户端S

MVC4中基于bootstrap和HTML5的图片上传Jquery自定义控件

场景:mvc4中上传图片,批量上传,上传前浏览,操作.图片进度条. 解决:自定义jquery控件 没有解决:非图片上传时,会有浏览样式的问题; 解决方案; 1.样式 – bootstrap 的css和图标与metro-ui-css的部分css 2.js 自定义控件 3.后台 mvc4 ------------------------------------------------- 1. [class*=border-color] { border: 2px solid; } .border-c

jsp中如何整合CKEditor+CKFinder实现文件上传

最近笔者做了一个新闻发布平台,放弃了之前的FCKEditor编辑器,使用了CKEditor+CKFinder,虽然免费的CKFinder是Demo版本,但是功能完整,而且用户都是比较集中精神发新闻的人,不会在意这个.笔者使用的版本分别是:CKEditor3.5.3+CKFinder2.0.2,今天笔者整理了一下配置CKEditor和CKFinder的过程,以及需要注意的一些问题,希望对大家有所帮助. 第一:下载CKEditor和CKFinder相关的安装文件 1.在CKEditor官网http:

.Net语言 APP开发平台——Smobiler学习日志:快速实现应用中的图片、声音等文件上传功能

最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 样式一 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的"Smobiler Components"拖动一个ResourceUploader控件和一个ImageButton控件到窗体界面上 2.ImageButton的Click事件 VB: Private Sub imageButton1_Click(sender As Object, e As Ev