第12章 会话控制

本文详细介绍了PHP中表单数据处理、Cookie存储与Session管理的基本概念与实践应用,包括GET与POST方法的区别、如何通过表单提交数据、创建与读取Cookie、以及如何使用Session进行用户状态跟踪。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值