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初学者头疼问题总结
Jul 08 PHP
php计算十二星座的函数代码
Aug 21 PHP
php使用ICQ网关发送手机短信
Oct 30 PHP
PHP json_decode函数详细解析
Feb 17 PHP
PHP魔术引号所带来的安全问题分析
Jul 15 PHP
php实现网页缓存的工具类分享
Jul 14 PHP
Yii使用DeleteAll连表删除出现报错问题的解决方法
Jul 14 PHP
Yii2中Restful API原理实例分析
Jul 25 PHP
数组任意位置插入元素,删除特定元素的实例
Mar 02 PHP
ThinkPHP框架表单验证操作方法
Jul 19 PHP
thinkPHP5框架导出Excel文件简单操作示例
Aug 03 PHP
laravel框架中间件 except 和 only 的用法示例
Jul 12 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
轻松修复Discuz!数据库
2008/05/03 PHP
深入解析PHP 5.3.x 的strtotime() 时区设定 警告信息修复
2013/08/05 PHP
解决CodeIgniter伪静态失效
2014/06/09 PHP
PHP生成静态HTML页面最简单方法示例
2015/04/09 PHP
PHP借助phpmailer发送邮件
2015/05/11 PHP
php编程每天必学之表单验证
2016/03/01 PHP
PHP实现的登录页面信息提示功能示例
2017/07/24 PHP
arguments对象
2006/11/20 Javascript
jQuery AJAX 调用WebService实现代码
2010/03/24 Javascript
JavaScript 的继承
2011/10/01 Javascript
jquery(live)中File input的change方法只起一次作用的解决办法
2011/10/21 Javascript
Ubuntu 11.10 安装Node.js的方法
2011/11/30 Javascript
javascript 密码框防止用户粘贴和复制的实现代码
2014/02/17 Javascript
禁用Tab键JS代码兼容Firefox和IE
2014/04/18 Javascript
javascript解析xml实现省市县三级联动的方法
2015/07/25 Javascript
JavaScript取得键盘按下方向键是哪个的方法
2015/08/04 Javascript
AngularJS表达式讲解及示例代码
2016/08/16 Javascript
angular基于ng-alain定义自己的select组件示例
2018/02/23 Javascript
详解Python中的循环语句的用法
2015/04/09 Python
pandas.cut具体使用总结
2019/06/24 Python
解决flask接口返回的内容中文乱码的问题
2020/04/03 Python
Python StringIO及BytesIO包使用方法解析
2020/06/15 Python
css3 flex实现div内容水平垂直居中的几种方法
2020/03/27 HTML / CSS
美国购车网站:TrueCar
2016/10/19 全球购物
职业生涯规划书范文
2014/03/10 职场文书
《乡下孩子》教学反思
2014/04/17 职场文书
大学新生军训方案
2014/05/03 职场文书
普通话宣传标语
2014/06/26 职场文书
弘扬焦裕禄精神走群众路线思想汇报
2014/09/12 职场文书
安全先进班组材料
2014/12/26 职场文书
地震慰问信
2015/02/14 职场文书
放牛班的春天观后感
2015/06/01 职场文书
搞笑的婚礼主持词
2015/06/29 职场文书
幼儿园教师教育随笔
2015/08/14 职场文书
诚信高考倡议书
2019/06/24 职场文书
win11高清晰音频管理器在哪里?win11找不到高清晰音频管理器解决办法
2022/04/08 数码科技