Cookie 是什么?

cookie 常用于识别用户。cookie 是一种服务器留在用户计算机上的小文件。每当同一台计算机通过浏览器请求页面时,这台计算机将会发送 cookie。

特点:1.没有过期时间。2.存在客户端。3.只能存储字符串类型

1.cookie的赋值:用setcookie() 函数,setcookie() 函数必须位于 <html> 标签之前。

2.cookie的取值:用$_COOKIE[]

<?php
setcookie("uid", "111", time()+3600);//设置变量uid 值为111 存在时间3600秒
?>
<?php
$time=time()+60*60*24*30; //设置过期时间是30天
setcookie("aaa", "2222", $time);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head> <body> <?php
echo $_COOKIE["uid"]."<br>"; //输出uid
echo $_COOKIE["aaa"]."<br>"; //输出aaa
print_r($_COOKIE); //打印所有的cookie
?>
</body>
</html>

3.cookie的删除:当删除 cookie 时,要把过期日期变更为过去的时间点。

<?php
setcookie("uid", "111", time()+3600);//设置变量uid 值为111 存在时间3600秒
?>
<?php
$time=time()+60*60*24*30; //设置过期时间是30天
setcookie("aaa", "2222", $time);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head> <body>
<?php
setcookie("uid", "", time()-3600); //删除cookie,是把时间设置为过去的时间
?>
<?php
echo @$_COOKIE["uid"]."<br>"; //输出uid 前面加上@,取消报错
echo $_COOKIE["aaa"]."<br>"; //输出aaa
print_r($_COOKIE); //打印所有的cookie
?>
</body>
</html>


PHP Sessions

PHP session 变量用于存储关于用户会话(session)的信息,或者更改用户会话(session)的设置。Session 变量存储单一用户的信息,并且对于应用程序中的所有页面都是可用的。

session的机制:

在计算机上操作某个应用程序时,打开它,做些更改,然后关闭它。这很像一次对话(Session)。计算机知道用户是谁。它清楚用户在何时打开和关闭应用程序。然而,在因特网上问题出现了:由于 HTTP 地址无法保持状态,Web 服务器并不知道您是谁以及用户做了什么。

PHP session 解决了这个问题,它通过在服务器上存储用户信息以便随后使用(比如用户名称、购买商品等)。然而,会话信息是临时的,在用户离开网站后将被删除。如果需要永久存储信息,可以把数据存储在数据库中。

Session 的工作机制是:为每个访客创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,或者通过 URL 进行传导。

session特点:1.有自动过期时间。2.存在服务器端。3.可以存储任意类型

1.开始 PHP Session

把用户信息存储到 PHP session 中之前,首先必须启动会话:session_start() 函数,session_start() 函数必须位于 <html> 标签之前

2.session的赋值:$_SESSION['名']=值

3.session的取值:$_SESSION['名'];

<?php
session_start();
$_SESSION['aa']=1;
?> <html>
<body> <?php echo "结果=". $_SESSION['aa'];//还可以在其他页面取到
?> </body>
</html>

例子:简易的计数器

<?php
session_start(); if(isset($_SESSION['a'])) //用isset判断a是否存在
{ $_SESSION['a']=$_SESSION['a']+1;}
else
{$_SESSION['a']=1;
echo "a=". $_SESSION['a'];}
?>

4.删除session:

(1)unset() 函数用于释放指定的 session 变量

<?php
session_start();
if(isset($_SESSION['a']))
unset($_SESSION['a']);
?>

(2)通过调用 session_destroy() 函数彻底销毁 session(--session_destroy() 将重置 session,将失去所有已存储的 session 数据)

<?php
session_start();
$_SESSION['aa']=1;
?>

<html>
<body>

<?php

echo "结果=". $_SESSION['aa'];
?>

<?php
session_destroy();       //销毁   
?>

<?php

if(isset($_SESSION['a']))   //判断是否销毁
{
echo "1111";
}
else
{
echo "222";
};
?>
</body>
</html>

php--部分session与cookie的更多相关文章

  1. 理解Session与Cookie

    写在前面的话:Session和Cookie是非常有意思的两个概念,对于两者的管理可以处理的很复杂,但是无论如何,理解Session和Cookie的基本概念和发明初衷,对于问题的解决,大有裨益. === ...

  2. PHP之session与cookie

    1.session与cookie的关系 众所周知,session是存储在服务器端,cookie是存储在客户端,如果禁用了浏览器的cookie功能,很多时候(除非进行了特殊配置)服务器端就无法再读取se ...

  3. 安全退出,清空Session或Cookie

    概览: 网站中点击退出,如果仅仅是重定向到登录/出页面,此时在浏览器地址栏中输入登录后的某个页面地址如主页,你会发现不用登录就能访问.这种所谓的退出并不是安全的. 那么怎样做到安全退出呢? 那就是点击 ...

  4. 11月7日上午PHP会话控制(session和cookie)、跨页面传值

    1.session  登录上一个页面以后,长时间没有操作,刷新页面以后需要重新登录. 特点:(1)session是存储在服务器:   (2)session每个人(登陆者)存一份: (3)session ...

  5. 【荐】PHP Session和Cookie,Session阻塞,Session垃圾回收,Redis共享Session,不推荐Memcached保存Session

    什么是 Session 在 web 应用开发中,Session 被称为会话.主要被用于保存某个访问者的数据. 由于 HTTP 无状态的特点,服务端是不会记住客户端的,对服务端来说,每一个请求都是全新的 ...

  6. Session与Cookie概念

    摘:一.Session机制session是一种服务器端的状态管理技术,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息.当程序需要为某个客户端的请求创建一个session的时候,服务 ...

  7. session和cookie

    第一次听到cookie这个词的时候着实兴奋了一段时间,以为是小饼干呢~快喝一杯82年的java压压惊!哈哈~ 与cookie的第一次邂逅——清缓存和清cookie 刚毕业的时候上班,做二次开发,明明后 ...

  8. 深入理解Session与Cookie

    Session与cookie的作用都是为了保持访问用户与后端服务器的交互状态. cookie通过把所有要保存的数据通过HTTP协议的头部从客户端传递到服务端,又从服务端再传回到客户端,所有的数据都存储 ...

  9. TP中的session和cookie

    session:1.session('name','value');  //设置session2.$value = session('name');  // 获取所有的session 3.2.2版本新 ...

  10. thinkphp里的session、cookie方法

    thinkphp里,对于session和cookie的操作,不管是存值.获取.删除,均只有一个方法.现分享出来,供大家参考参考. /** * session管理函数 * @param string|a ...

随机推荐

  1. Oracle连接的若干错误

    用PL/SQL连接Oracle时会抛若干错误,如下: 1.ora-12154:TNS:无法解析指定的连接标识符 答:plsql在%Oracle_Home%\Network\Admin或者c:\inst ...

  2. JSONObject与JSONArray的使用

    1.JAR包简介 要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包: commons-lang.jar commons-beanutils.jar commons ...

  3. jQuery dialog 简介

    dialog是jQuery UI 库的一个UI组件,所以使用dialog时,不仅要引入jQuery.js(因为它只是轻量级的基础框架),还需要引入jQueryUI的js及相关css文件 示例: < ...

  4. sourcetree使用问题汇总

    1.可优先查阅博文<git 用户手册 1.5.3及后续版本使用>: 2.问题1 Cloning into 'folder'... warning: templates not found ...

  5. SharePoint 2013 开发——概述

     博客地址:http://blog.csdn.net/FoxDave 近来阅读SharePoint 2013开发一书,带着与大家一起分享其中的内容. 部署场景: 本地部署(On-Premise D ...

  6. git——学习笔记(一)

    http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013745374151782e ...

  7. XAMPP启动mysql遇到的问题

    Version: '10.1.9-MariaDB' socket: '' port: 3306 mariadb.org binary distribution2016-07-18 10:42:04 1 ...

  8. (转)深入浅出 iOS 之生命周期

    原文:http://www.cocoachina.com/applenews/devnews/2011/0817/3129.html 深入浅出 iOS 之生命周期 发布于:2011-08-17 10: ...

  9. hdu 2083

    ps:N个数中,中位数是最小距离...第一次WA是因为排序之后最小和最大相加除2...应该是找他们的中位数,而不是中间数. 代码: #include "stdio.h" #incl ...

  10. 2016-1-7第一个完整APP 私人通讯录的实现 5:保存数据

    一:登陆界面 1):用户点击登陆按钮并成功登陆后,根据此时的开关情况选择是否保存数据,代码如下: "]) { [self performSegueWithIdentifier:@" ...