`

第12章 会话控制

 
阅读更多

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 一般用于后台管理登录,人少
	//安全性,一段时间不操作会自动过期
?>

 

 

 

 

0
5
分享到:
评论

相关推荐

    PHP中文网线上培训班-PHP编程.zip

    第12章 匿名函数与对象初步 第13章 对象继承与成员访问 第14章 成员重载与实战 第15章 抽象类与接口实战 第16章 面向对象的进阶内容 第17章 设计模式与MVC 第18章 异常处理与文件上传 第19章 php原生实战 第20章 php...

    Shiro学习教程源代码

    第十二章 与Spring集成 第十三章 RememberMe 第十四章 SSL 第十五章 单点登录 第十六章 综合实例 第十七章 OAuth2集成 第十八章 并发登录人数控制 第十九章 动态URL权限控制 第二十章 无状态Web应用集成 第二十一章 ...

    OWASP项目分享:应用软件安全级别验证参考标准(ASVS).pdf

    目 录 第1 章 使用应用安全验证...第12章V10:HTTP安全配置 第13章V11:恶意控件 第14章V12:业务逻辑 第15章V13:文件和资源 第16章V14:移动应用程序 第17章V15:WEB服务50 第18章V16:安全配置 第19章ASVS的实践案例

    wap无线应用协议.RAR

    第12章 无线电话应用接口规范关于PDC的附加说明.pdf 第13章 无线会话应用规范.pdf 第14章 无线会议协议规范.pdf. 第15章 无线事务协议规范.pdf 第16章 无线传输层安全规范.pdf 第17章 无线数据报协议规范.pdf 第18章...

    决战Nginx系统卷:高性能Web服务器详解与运维第二部分(保证能用)

    第12章 限制用户并发连接数 第13章 修改或隐藏Nginx的版本号 第14章 配置FLV服务器 第15章 Nginx的访问控制 第16章 提供FTP下载 第17章 Nginx与编码 第18章 网页压缩传输 第19章 控制Nginx如何记录日志 第20...

    决战Nginx: 系统卷 - 高性能Web服务器详解与运维第三部分(保证能用)

    第12章 限制用户并发连接数 第13章 修改或隐藏Nginx的版本号 第14章 配置FLV服务器 第15章 Nginx的访问控制 第16章 提供FTP下载 第17章 Nginx与编码 第18章 网页压缩传输 第19章 控制Nginx如何记录日志 第20...

    决战Nginx系统卷:高性能Web服务器详解与运维第一部分(保证能用)

    第12章 限制用户并发连接数 第13章 修改或隐藏Nginx的版本号 第14章 配置FLV服务器 第15章 Nginx的访问控制 第16章 提供FTP下载 第17章 Nginx与编码 第18章 网页压缩传输 第19章 控制Nginx如何记录日志 第20...

    Oracle 11g 从入门到精通——第十二章(视频教程)

    总的来说,这个Oracle 11g的第十二章教程覆盖了数据库管理的关键领域,包括用户管理、权限控制和资源调配,是学习和掌握Oracle数据库管理基础的宝贵资料。通过深入学习和实践这些内容,可以提升在数据库环境中的操作...

    JSP课后编程题答案12-16章

    本压缩包文件包含了第12至16章JSP课后的编程题答案,以下是对这些章节主要知识点的详细解析:** ### 第12章:JSP基本语法与动作指令 1. **JSP页面结构**:一个JSP页面由HTML、CSS和Java代码组成,其中Java代码以`...

    第12章 缓存1

    第12章主要探讨了在服务器端和客户端实现的缓存策略,特别是在使用 symfony 框架的情况下的应用。 在 symfony 中,服务器端缓存系统非常灵活,允许开发者通过 YAML 文件配置来控制缓存行为。缓存的基本原理是存储...

    jsp 范例宝典 第12章

    《JSP范例宝典》第12章涵盖了丰富的JSP(Java Server Pages)编程实践内容,旨在帮助读者深入理解和掌握这一动态网页技术。作为Java平台上的重要组件,JSP结合了HTML和Java代码,使得开发者能够创建交互式、数据驱动...

    ASP.NET开发实战1200例(第II卷)第十二章.rar

    《ASP.NET开发实战1200例(第II卷)第十二章》是针对ASP.NET技术的实战教程,其中包含了丰富的实例和配套视频教程,旨在帮助开发者深入理解和掌握ASP.NET的相关知识。本章可能涵盖了ASP.NET的核心概念、控件使用、...

    跟我学Shiro第12章Demo(仅JAVA SE+Web+Shiro权限注解)2

    在第12章的Demo中,我们主要探讨的是如何在Java SE(标准版)和Web环境中利用Shiro的权限注解进行精细化的权限控制。这个Demo提供了完整的运行环境,包括Java SE的部分以及使用Jetty服务器运行的Web部分。 1. **...

    跟我学Shiro第12章Demo(仅JAVA SE+Web+Shiro权限注解)

    《跟我学Shiro第12章Demo:Java SE、Web与Shiro权限注解实践》 Apache Shiro是一款强大的安全框架,广泛应用于Java项目中,提供了身份验证、授权、会话管理和加密等功能。本Demo主要涵盖了Shiro在Java Standard ...

    Java Web程序设计教程源码10-15章

    第12章可能会讲解MVC(Model-View-Controller)设计模式。在Java Web开发中,MVC是组织代码结构的常用方式,有助于实现业务逻辑、数据模型和用户界面的解耦。学习者会了解如何使用Servlet或框架(如Spring MVC)实现...

    rtsp协议英文 第12章-附录

    在第12章的附录中,主要关注了RTSP的状态码定义,这些状态码与HTTP状态码有重合之处,但同时也针对RTSP的特性进行了扩展。 11.1 成功(2xx)状态码: 当请求成功时,服务器会返回2xx范围的状态码。250 Low on ...

    计算机网络第三章245454

    本章主要探讨了计算机网络体系结构,特别是OSI七层模型及其对应的功能。以下是根据标题、描述和部分内容提炼的关键知识点: 1. **OSI七层模型**: - OSI模型包括物理层、数据链路层、网络层、传输层、会话层、表示...

    跟我学Shiro第12章Demo(仅JAVA SE)

    在本"跟我学Shiro第12章Demo(仅JAVA SE)"中,我们将专注于如何将Shiro的ini配置文件转换为Spring的XML配置文件格式,这有助于在Java Standard Edition(SE)环境中更好地集成和管理Shiro的安全设置。 Shiro的ini...

Global site tag (gtag.js) - Google Analytics