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

作者:onestopweb 时间:2023-11-16 00:13:39 

本文实例讲述了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,会话控制,cookie,session
0
投稿

猜你喜欢

  • python实现FTP服务器服务的方法

    2021-01-08 10:07:38
  • PHP实现多文件上传的方法

    2023-11-23 03:42:04
  • tensorflow基于CNN实战mnist手写识别(小白必看)

    2021-01-26 22:33:42
  • php常用字符串长度函数strlen()与mb_strlen()用法实例分析

    2023-11-14 13:47:51
  • python flask实现分页的示例代码

    2021-04-01 09:55:23
  • Python基于正则表达式实现计算器功能

    2021-08-17 13:00:02
  • JavaScript获取echart曲线上任意点位的值详解

    2024-05-02 16:57:52
  • asp如何在网上查找链接?

    2010-06-22 21:10:00
  • Python实现批量下载图片的方法

    2022-11-17 07:20:08
  • 基于Python绘制一个摸鱼倒计时界面

    2022-09-02 03:03:26
  • Pytorch模型的保存/复用/迁移实现代码

    2023-12-12 10:37:43
  • Ethnique公司logo设计过程和思路

    2009-09-19 17:04:00
  • mysql 5.7.16 安装配置方法图文教程

    2024-01-28 14:26:32
  • 深入理解python中的闭包和装饰器

    2023-03-20 06:27:48
  • 在Vue框架中配置Mock服务器的方法

    2024-04-28 09:27:38
  • 兼容 IE,Firefox 的图片自动缩放 CSS

    2011-09-27 13:36:58
  • Oracle VM VirtualBox 虚拟机硬盘扩容

    2024-01-14 13:58:59
  • Python入门基础之变量及字符串

    2023-08-08 06:10:11
  • MHA实现mysql主从数据库手动切换的方法

    2024-01-25 22:36:23
  • python读取excel表格生成erlang数据

    2022-12-26 05:03:54
  • asp之家 网络编程 m.aspxhome.com