1.Cookies

cookie 常用于识别用户。cookie 是服务器留在用户计算机中的小文件。每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie。通过 PHP,您能够创建并取回 cookie 的值。

1.1、如何创建 cookie?

setcookie() 函数用于设置 cookie。

注释:setcookie() 函数必须位于 标签之前。语法:setcookie(name, value, expire, path, domain);

在下面的例子中,我们将创建名为 "user" 的 cookie,把为它赋值 "Alex Porter"。我们也规定了此 cookie 在一小时后过期:

<?php

setcookie("user", "Alex Porter", time()+3600);?>

注释:在发送 cookie 时,cookie 的值会自动进行 URL 编码,在取回时进行自动解码(为防止 URL 编码,请使用 setrawcookie() )。

1.2、如何取回 Cookie 的值?

PHP 的 $_COOKIE 变量用于取回 cookie 的值。

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

<?php // Print a cookieecho $_COOKIE["user"];// A way to view all cookiesprint_r($_COOKIE);?>

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

echo "Welcome " . $_COOKIE["user"] . "!
";else

echo "Welcome guest!
";?>

1.3、如何删除 cookie?

当删除 cookie 时,您应当使过期日期变更为过去的时间点。

删除的例子:<?php

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

如果浏览器不支持 cookie 该怎么办?

如果您的应用程序涉及不支持 cookie 的浏览器,您就不得不采取其他方法在应用程序中从一张页面向另一张页面传递信息。一种方式是从表单传递数据(有关表单和用户输入的内容,稍早前我们已经在本教程中介绍过了)。

下面的表单在用户单击提交按钮时向 "welcome.php" 提交了用户输入:

Name: Age:

取回 "welcome.php" 中的值,就像这样:

<?php  echo $_POST["name"]; ?>.
You are <?php  echo $_POST["age"]; ?> years old.

2.Sessions

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

当您运行一个应用程序时,您会打开它,做些更改,然后关闭它。这很像一次会话。计算机清楚你是谁。它知道你何时启动应用程序,并在何时终止。但是在因特网上,存在一个问题:服务器不知道你是谁以及你做什么,这是由于 HTTP 地址不能维持状态。

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

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

2.1、开始 Session

在您把用户信息存储到 PHP session 中之前,首先必须启动会话。

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

<?php

session_start()

; ?>

上面的代码会向服务器注册用户的会话,以便您可以开始保存用户信息,同时会为用户会话分配一个 UID。

2.2、存储 Session 变量

存储和取回 session 变量的正确方法是使用 PHP $_SESSION 变量:

<?phpsession_start ();// store session data$_SESSION['views']=1;?>

输出:Pageviews=1

在下面的例子中,我们创建了一个简单的 page-view 计数器。isset() 函数检测是否已设置 "views" 变量。如果已设置 "views" 变量,我们累加计数器。如果 "views" 不存在,则我们创建 "views" 变量,并把它设置为 1:

<?phpsession_start ();if(isset($_SESSION['views']))  $_SESSION['views']=$_SESSION['views']+1;else

$_SESSION['views']=1;echo "Views=". $_SESSION['views'];?>

2.3、终结 Session

如果您希望删除某些 session 数据,可以使用  unset()  或者 session_destroy() 函数。

------先unset()后session_destroy()退出登录更彻底------

unset() 函数用于释放指定的 session 变量:<?phpunset ($_SESSION['views']);?>

您也可以通过 session_destroy() 函数彻底终结 session:<?phpsession_destroy ();?>

注释:session_destroy() 将重置 session,您将失去所有已存储的 session 数据。

---------------------------------------------------------------------------------------------------------------------------------------------------

cookie和session的联系与区别

联系:

1.Cookie和Session有很多相似的地方,都是用来临时存储用户状态和相关信息。有很多情况下,使用两者都可以实现某些特定功能。用户敏感信息保存在cookie或者在session都可以,两个各有特点。

2.通常情况下Session的sid保存在cookie中。客户端与服务器交互时客户端cookie发送sid到服务器达到身份认证目的,session是基于cookie但又不完全依赖cookie(其次是“url重写”方案,sid写在url中一起发送到服务端,比如很多手机浏览器即使如此)。

区别:

Cookie(储存在用户本地终端上的数据):

1.保存在客户端,其值在客户端与服务端之间传送。客户端保持状态的方案。

2.不安全,存储的数据量有限。

3.Cookie可以长期有效。

Session特征(会话):

1.保存在服务端,每一个session在服务端有一个sessionID作一个标识(客户端发送不同SID识别不同用户)。服务器端保持状态的方案。

2.存储的数据量大,安全性高。占用服务端的内存资源。

3.Session的生存期在会话结束后即结束。下次新创建的sid即不重复也没有规律。

php记住表单数据cookie,【PHP基础】cookies和session相关推荐

  1. php获取post表单数据_PHP如何通过post方法来获取form表单中数据?(代码示例)

    我们在网站开发过程中,通常都会遇到关于php form表单的相关操作.如php获取带有post提交方法的表单数据,这种该如何操作呢?如果大家有看过我[PHP如何通过get方法获得form表单数据?]这 ...

  2. 网络——提交表单数据(post方式)

    [0]README 1) 本文文字描述 转自 core java volume 2 , 旨在理解 网络--提交表单数据 的基础知识 : 2) for source code, please visit ...

  3. PHP获取表单数据的方法有几种,如何实现PHP获取表单数据与HTML嵌入PHP脚本

    如何实现PHP获取表单数据与HTML嵌入PHP脚本 导语:如何实现PHP获取表单数据与HTML嵌入PHP脚本,下面是小编给大家提供的操作讲解,大家可以参考阅读,更多详情请关注应届毕业生考试网. 常用的 ...

  4. python post 表单类数据_python post content-type:multipart/form-data 类型的表单数据

    表单数据post默认为application/x-www-form-urlencode,可以为 标签加入属性enctype=multipart/form-data,使得post的数据按multipar ...

  5. Linkflow+表单工具:赋能表单数据,提升表单营销能力

    前言 本文旨在帮助企业实现敏捷高效运营,提升用户数据运营效能.在这里,我们将提供Linkflow+表单工具的组合场景玩法,以帮助企业提升表单营销能力,更好实现用户精细化运营和自动化营销. 如果您有以下 ...

  6. C# 后台发送Post Get请求 Json数据或表单数据

    Http请求类 public class HttpResponse{#region Static Fieldprivate static readonly string DefaultUserAgen ...

  7. html怎么获取form表单数据,如何优雅的获取Form表单数据?

    先看一个简单的例子 比如这里有一个简单的 form 表单 r1 r2 r3 r4 c1 c2 c3 c4 login reset 页面如下 现在,随便输入点内容 如果提交,表单会触发默认行为,直接以g ...

  8. php记住用户名密码,记住帐号、记住密码、记住表单信息等“记住”的实现

    登录界面有记住帐号.记住密码,留言时有记住表单信息等,这使得用户在下次访问该页面时不用重复地输入重复的信息,减少重复劳动.网页设计者当然要满足用户的需求,那么PHP是怎么实现这些"记住&qu ...

  9. php 保存表单数据,使用jquery和php自动保存表单数据

    我对PHP非常好,但是使用jQuery的总菜单,并且卡在自动保存表单数据中. 自动保存功能在dummy.php中每30秒调用一次.我正在将用于处理的序列化表单数据( – >数据库)发送到save ...

最新文章

  1. 演练:使用 TableLayoutPanel 在 Windows 窗体上排列控件
  2. photo常用快捷键
  3. php 6.0新特性,新版特性 | 序言 | Laravel 6 中文文档
  4. TVS二极管,双向封装,如何选型?
  5. 玩转git-flow工作流-分支解析
  6. html中如何设置图片填充颜色渐变,实现SVG图标的渐变填充效果
  7. 任意两点间的最短路径
  8. scrapy爬虫架构介绍和初试
  9. 【转载】面向对象建模与数据库建模两种分析设计方法的比较
  10. 【Flutter 问题系列第 7 篇】TextField 去掉下划线
  11. 一分钟为网站添加统计功能
  12. Mac下将ISO写入U盘镜像
  13. 我的ubuntu比windows xp欠缺的地方
  14. Flutter Demo 简单的涂鸦应用
  15. 天嵌开发版 imx6 移植qt
  16. 在eclipse中使用subclipse
  17. STM32学习笔记--DAC
  18. 受疫情影响,超七成美国科技公司暂停招聘或裁员
  19. python -- 使用selenium模拟登录淘宝,爬取商品信息
  20. 如何应对生活中的临时突发事件?

热门文章

  1. b 树查找时间复杂度_你心里是没点B树吗?
  2. AUTOSAR从入门到精通100讲(十三)--autosar架构中的ARXML
  3. query row php,php – 如何在Codeigniter上使用$query- row获取类对象
  4. vue如何过滤html标签,去除富文本中的html标签及vue、react、微信小顺序中的过滤器...
  5. csdn个人主页下如何添加微信公众号及超链接
  6. HTML5的非主体结构元素(header、footer、hgroup、assress)
  7. Spring boot的简单用法
  8. jQuery 打气球小游戏 点击气球爆炸效果
  9. addEventListener的click和onclick的区别
  10. 值得拥有!精心推荐几款超实用的 CSS 开发工具