热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

phpcookie设置删除登录详解_PHP教程

phpcookie设置删除登录详解。cookie是所有程序开发中会有的一种东西,下面我来介绍cookie设置(SetCookie)删除($_COOKIE)登录用法。1、设置CookiePHP用SetCookie函数来设置Cooki
COOKIE是所有程序开发中会有的一种东西,下面我来介绍COOKIE设置(SetCOOKIE) 删除($_COOKIE) 登录用法。

1、设置COOKIE

PHP用SetCOOKIE函数来设置COOKIE。必须注意的一点是:COOKIE是HTTP协议头的一部分,用于浏览器和服务器之间传递信息,所以必须在任何属于HTML文件本身的内容输出之前调用COOKIE函数。

SetCOOKIE函数定义了一个COOKIE,并且把它附加在HTTP头的后面,SetCOOKIE函数的原型如下:

int SetCOOKIE(string name, string value, int expire, string path, string domain, int secure);
除 了name之外所有的参数都是可选的。value,path,domain三个参数可以用空字符串代换,表示没有设置;expire 和 secure两个参数是数值型的,可以用0表示。expire参数是一个标准的Unix时间标记,可以用time()或mktime()函数取得,以秒为 单位。secure参数表示这个COOKIE是否通过加密的HTTPS协议在网络上传输。

当前设置的COOKIE不是立即生效的,而是要等到下一个页面时才能看到.这是由于在设置的这个页面里COOKIE由服务器传递给客户浏览器,在下一个页面浏览器才能把COOKIE从客户的机器里取出传回服务器的原因。

在同一个页面设置COOKIE,实际是从后往前,所以如果要在插入一个新的COOKIE之前删掉一个,你必须先写插入的语句,再写删除的语句,否则可能会出现不希望的结果。

来看几个例子:

如何创建 COOKIE?
setCOOKIE() 函数用于设置 COOKIE。

注释:setCOOKIE() 函数必须位于 标签之前。

语法
setCOOKIE(name, value, expire, path, domain);

简单的:

代码如下

SetCOOKIE(“MyCOOKIE”, “Value of MyCOOKIE”);

带失效时间的:

SetCOOKIE(“WithExpire”, “Expire in 1 hour”, time()+3600);//3600秒=1小时

什么都有的:

SetCOOKIE(“FullCOOKIE”, “Full COOKIE value”, time()+3600, “/forum”, “.phpuser.com”, 1);

这里还有一点要说明 的,比如你的站点有几个不同的目录,那么如果只用不带路径的COOKIE的话,在一个目录下的页面里设的COOKIE在另一 个目录的页面里是看不到的,也就是说,COOKIE是面向路径的。实际上,即使没有指定路径,WEB服务器会自动传递当前的路径给浏览器的,指定路径会强 制服务器使用设置的路径。解决这个问题的办法是在调用SetCOOKIE时加上路径和域名,域名的格式可以是“www.phpuser.com”,也可是 “.phpuser.com”。

SetCOOKIE 函数里表示value的部分,在传递时会自动被encode,也就是说,如果 value的值是“test value”在传递时就变成了“test%20value”,跟URL的方法一样。当然,对于程序来说这是透明的,因为在PHP接收COOKIE的值时会 自动将其decode。

如果要设置同名的多个COOKIE,要用数组,方法是:

代码如下

SetCOOKIE(“COOKIEArray[]“, “Value 1″);

SetCOOKIE(“COOKIEArray[]“, “Value 2″);

SetCOOKIE(“COOKIEArray[0]“, “Value 1″);

SetCOOKIE(“COOKIEArray[1]“, “Value 2″);

2、接收和处理COOKIE

PHP对COOKIE的接收和处理的支持非常好,是完全自动的,跟FORM变量的原则一样,特别简单。

比如设置一个名为 MyCOOKIEr的COOKIE,PHP会自动从WEB服务器接收的HTTP头里把它分析出来,并形成一个与普通变量一样的变量,名为$ myCOOKIE,这个变量的值就是COOKIE的值。数组同样适用。另外一个办法是引用PHP的全局变量$HTTP_COOKIE_VARS数组。

分别举例如下:(假设这些都在以前的页面里设置过了,并且仍然有效)

代码如下

echo $MyCOOKIE;

echo $COOKIEArray[0];

echo count($COOKIEArray

如何取回 COOKIE 的值?
PHP 的 $_COOKIE 变量用于取回 COOKIE 的值。

在下面的例子中,我们取回了名为 "user" 的 COOKIE 的值,并把它显示在了页面上:

代码如下

// Print a COOKIE
echo $_COOKIE["user"];

// A way to view all COOKIEs
print_r($_COOKIE);
?>

在下面的例子中,我们使用 isset() 函数来确认是否已设置了 COOKIE:

代码如下


if (isset($_COOKIE["user"]))
echo "Welcome " . $_COOKIE["user"] . "!
";
else
echo "Welcome guest!
";
?>


如何删除 COOKIE?
当删除 COOKIE 时,您应当使过期日期变更为过去的时间点。

删除的例子:

代码如下

// set the expiration date to one hour ago
setCOOKIE("user", "", time()-3600);
?>

例子

php COOKIE来设置用户登陆的时间与过期时间代码哦

代码如下

function loginCOOKIE($uid,$name,$group,$ip,$time)
{
global $site_domain,$login_key;

$domain = (substr($site_domain,0,4) == "www.") ? substr($site_domain,3) : ".".$site_domain;

$secure = Xxtea::encrypt($uid."|".$name."|".$group."|".$ip,$login_key);

setCOOKIE("userId",$uid,$time+86400,"/",$domain);

setCOOKIE("userName",$name,$time+86400,"/",$domain);

setCOOKIE("userGroup",$group,$time+86400,"/",$domain);

setCOOKIE("userSecure",$secure,$time+86400,"/",$domain);
}

更多详细内容请查看:http://www.bKjia.c0m/phper/18/1b5df18d38cfea1a63282c367f6cdf63.htm

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/628980.htmlTechArticleCOOKIE是所有程序开发中会有的一种东西,下面我来介绍COOKIE设置(SetCOOKIE) 删除($_COOKIE) 登录用法。 1、设置COOKIE PHP用SetCOOKIE函数来设置Cooki...


推荐阅读
  • JavaScript 跨域解决方案详解
    本文详细介绍了JavaScript在不同域之间进行数据传输或通信的技术,包括使用JSONP、修改document.domain、利用window.name以及HTML5的postMessage方法等跨域解决方案。 ... [详细]
  • 探讨了在HTML表单中使用元素代替进行表单提交的方法。 ... [详细]
  • 搭建个人博客:WordPress安装详解
    计划建立个人博客来分享生活与工作的见解和经验,选择WordPress是因为它专为博客设计,功能强大且易于使用。 ... [详细]
  • 本文介绍了如何在 MongoDB 中使用正则表达式进行数据排除查询,特别关注了通过 $regex 和 $nin 操作符来过滤特定模式的数据。 ... [详细]
  • 本文提供了处理WordPress网站中出现过多重定向问题的方法,包括检查DNS配置、安装SSL证书以及解决数据库连接错误等步骤。 ... [详细]
  • 随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ... [详细]
  • 本文详细介绍如何安装和配置DedeCMS的移动端站点,包括新版本安装、老版本升级、模板适配以及必要的代码修改,以确保移动站点的正常运行。 ... [详细]
  • Asynchronous JavaScript and XML (AJAX) 的流行很大程度上得益于 Google 在其产品如 Google Suggest 和 Google Maps 中的应用。本文将深入探讨 AJAX 在 .NET 环境下的工作原理及其实现方法。 ... [详细]
  • 本文详细介绍了如何在 Ubuntu 14.04 系统上搭建仅使用 CPU 的 Caffe 深度学习框架,包括环境准备、依赖安装及编译过程。 ... [详细]
  • 本文探讨了使用lightopenid库实现网站登录,并在用户成功登录后,如何获取其姓名、电子邮件及出生日期等详细信息的方法。特别针对Google OpenID进行了说明。 ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
  • 本文探讨了一种常见的C++面试题目——实现自己的String类。通过此过程,不仅能够检验开发者对C++基础知识的掌握程度,还能加深对其高级特性的理解。文章详细介绍了如何实现基本的功能,如构造函数、析构函数、拷贝构造函数及赋值运算符重载等。 ... [详细]
  • 本文介绍了如何使用递归函数来计算从1到n的所有数字的阶乘之和,并提供了两种不同的实现方法。 ... [详细]
  • Python3爬虫入门:pyspider的基本使用[python爬虫入门]
    Python学习网有大量免费的Python入门教程,欢迎大家来学习。本文主要通过爬取去哪儿网的旅游攻略来给大家介绍pyspid ... [详细]
  • Vue CLI 基础入门指南
    本文详细介绍了 Vue CLI 的基础使用方法,包括环境搭建、项目创建、常见配置及路由管理等内容,适合初学者快速掌握 Vue 开发环境。 ... [详细]
author-avatar
航19830_811
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有