PHP入门教程之会话控制技巧(cookie与session)


Posted in PHP onSeptember 11, 2016

本文实例讲述了PHP会话控制技巧。分享给大家供大家参考,具体如下:

Demo1.php

<form method="get" action="Demo2.php">
  姓名:<input type="text" name="username" /> <br />
  <input type="submit" value="提交" />
</form>

Demo2.php

<?php
  //echo $_POST['username'];
  //如果表单采用的 get 传输,那么接受必须采用
  echo $_GET['username'];
  //到底那种比较好呢。????
  //$_POST[''];  比较安全
?>

Demo3.php

<?php
  //创建一个 Cookie
  //Cookie 是在你的客户机存一个小文件,这个文件包含你登录时的信息
  //setcookie 可以创建一个客户机的 cookie 文件
  //第一个参数表示 cookie 的名称,第二个参数表示这个 cookie 名称的值
  //所谓的会话结束时,就是当你这个浏览器关闭时,就没有了,就自动删除
  //创建一个包含过期的 cookie, 过期时间采用当前的时间戳 + 秒即可
  //time()+(7*24*60*60) 表示未来的7 天
  //一旦 setcookie 改变了,一刷新浏览器,就会把旧的 cookie 覆盖掉
  setcookie('name','oneStopWeb',time()+(7*24*60*60));
?>

Demo4.php

<?php
  setcookie('name','oneStopWeb');
  //读取本机的 cookie,采用一个超级全局变量 $_COOKIE
  //里面放 cookie 名即可
  //有一个特性,setcookie 并不是及时生成,它会慢一拍
  //PS:慢一拍,第一次刷新,只是生成覆盖了原来。
  //但获取的还是之前的,而第二次刷新,才能真正获取到。
  //echo $_COOKIE['name'];
  //用变量检测函数来判断 cookie 是否存在
  if(isset($_COOKIE['name'])){
    echo $_COOKIE['name'];
  }else{
    echo '不存在此用户';
  }
?>

Demo5.php

<?php
  //删除 cookie
  setcookie('name','oneStopWeb');
  //中间删除掉了这个 cookie
  //将这个值设置为空即可
  //setcookie('name','');
  //我将过期时间调整到目前的时间还少一秒,那么就等于是过期的了
  setcookie('name','oneStopWeb',time()-1);
  echo $_COOKIE['name'];
?>

Demo6.php

<form method="post" action="Demo7.php">
  姓名:<input type="text" name="username" /> <br />
  <input type="submit" value="提交" />
</form>

Demo7.php

<?php
  //如果姓名的指定的姓名相同,那么就生成一个 cookie
  //完成登录
  if(isset($_POST['username']) && $_POST['username']=='oneStopWeb'){
    //如果正确了,我生成一个 cookie,再跳转
    setcookie('name','web');
    header('Location:Demo8.php');
  }else{
    header('Location:Demo6.php');
  }
?>

Demo8.php

<?php
  if(isset($_COOKIE['name'])){
    echo '欢迎光临:'.$_COOKIE['name'];
  }else {
    echo '非法登录';
  }
?>

Demo9.php

<?php
  session_start(); //开户 session 会话处理
  //session 只要用到这个,就必须开启session_start()
  //放在文件开头
  //创建 session ,直接采用超级全局变量赋值即可
  //session 是存在服务器端,一般存放 1440 秒,
  //如果网页没有任何操作,会自动销毁,当然,可以通过 php.ini 去修改保存时间
  //如果关闭了浏览器,那么也自动销毁。
  //及时性,不像 cookie 会慢半拍
  $_SESSION['name1'] = 'oneStopWeb';
  $_SESSION['name2'] = 'oneStopWeb';
  //echo $_SESSION['name'];
// if(isset($_SESSION['name'])){
//   echo $_SESSION['name'];
// }else{
//   echo '不存在此人。';
// }
  //不是删除的方法
// $_SESSION['name'] = '';
  //真正的删除方法
  //unset($_SESSION['name']);
// if(isset($_SESSION['name'])){
//   echo $_SESSION['name'];
// }else{
//   echo '不存在此人。';
// }
?>

Demo10.php

<?php
  session_start();
  //销毁所有 session ,销毁的也慢半拍
  session_destroy();
  echo $_SESSION['name1'] ;
  echo $_SESSION['name2'] ;
  //cookie适用于会员登录,购物车啊。。。
  //因为他不占用服务器资源,所以会员特别多,购物车特别多的,就用 cookie
  //session 一般用于后台管理登录,人少
  //安全性,一段时间不操作会自动过期
?>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP下一个非常全面获取图象信息的函数
Nov 20 PHP
几款免费开源的不用数据库的php的cms
Dec 19 PHP
Session保存到数据库的php类分享
Oct 24 PHP
基于php常用正则表达式的整理汇总
Jun 08 PHP
神盾加密解密教程(一)PHP变量可用字符
May 28 PHP
php设计模式之委托模式
Feb 13 PHP
PHP实现路由映射到指定控制器
Aug 13 PHP
php执行多个存储过程的方法【基于thinkPHP】
Nov 08 PHP
[原创]php实现数组按拼音顺序排序的方法
May 03 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
Nov 10 PHP
PHP实现给定一列字符,生成指定长度的所有可能组合示例
Jun 22 PHP
再谈Yii Framework框架中的事件event原理与应用
Apr 07 PHP
PHP入门教程之表单与验证实例详解
Sep 11 #PHP
PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)
Sep 11 #PHP
PHP入门教程之正则表达式基本用法实例详解(正则匹配,搜索,分割等)
Sep 11 #PHP
PHP入门教程之字符串处理技巧总结(转换,过滤,解析,查找,截取,替换等)
Sep 11 #PHP
PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)
Sep 11 #PHP
PHP目录与文件操作技巧总结(创建,删除,遍历,读写,修改等)
Sep 11 #PHP
PHP入门教程之数组用法汇总(创建,删除,遍历,排序等)
Sep 11 #PHP
You might like
解析PHP获取当前网址及域名的实现代码
2013/06/23 PHP
php使用parse_url和parse_str解析URL
2015/02/22 PHP
php使用gearman进行任务分发操作实例详解
2020/02/26 PHP
JavaScript URL参数读取改进版
2009/01/16 Javascript
保证JavaScript和Asp、Php等后端程序间传值编码统一
2009/04/17 Javascript
jquery 入门教程 [翻译] 推荐
2009/08/17 Javascript
jquery自动将form表单封装成json的具体实现
2014/03/17 Javascript
jQuery实现返回顶部功能适合不支持js的浏览器
2014/08/19 Javascript
JS 实现列表与多选框选择附预览动画
2014/10/29 Javascript
在Google 地图上实现做的标记相连接
2015/01/05 Javascript
Bootstrap导航中表单简单实现代码
2017/03/06 Javascript
JavaScript实现一个简易的计算器实例代码
2018/05/10 Javascript
用JS实现根据当前时间随机生成流水号或者订单号
2018/05/31 Javascript
详解如何使用router-link对象方式传递参数?
2019/05/02 Javascript
使用apifm-wxapi快速开发小程序过程详解
2019/08/05 Javascript
浅析Vue下的components模板使用及应用
2019/11/27 Javascript
vue 如何从单页应用改造成多页应用
2020/10/23 Javascript
python使用正则表达式分析网页中的图片并进行替换的方法
2015/03/26 Python
Python如何判断数独是否合法
2016/09/08 Python
python基础教程项目四之新闻聚合
2018/04/02 Python
对Python中plt的画图函数详解
2018/11/07 Python
Python设计模式之装饰模式实例详解
2019/01/21 Python
在Python中居然可以定义两个同名通参数的函数
2019/01/31 Python
Python如何获取Win7,Win10系统缩放大小
2020/01/10 Python
使用卷积神经网络(CNN)做人脸识别的示例代码
2020/03/27 Python
python获取命令行参数实例方法讲解
2020/11/02 Python
CSS3 box-sizing属性详解
2016/11/15 HTML / CSS
英国最大的宠物食品和宠物用品网上零售商: Zooplus
2016/08/01 全球购物
美国购买和销售礼品卡平台:Raise
2017/01/13 全球购物
亚洲独特体验旅游专家:eOasia
2018/08/15 全球购物
乐观大学生的自我评价
2014/01/10 职场文书
幼儿园庆六一活动方案
2014/03/06 职场文书
服务承诺书格式
2014/05/21 职场文书
2015年统战工作总结
2015/05/19 职场文书
2016年五一促销广告语
2016/01/28 职场文书
2022微信温控新功能上线
2022/05/09 数码科技