欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

php学习笔记(二十六)php中session的初步使用(基于cookie的)

程序员文章站 2024-03-20 13:33:58
...

session有几种使用方式

1.基于cookie的

2.基于url的sid字符串的

3.存储到数据库中的

4.存储的memcache中的(效率最好的)


<?php 
/**
 * session会话控制
 * 		php.ini中可以设置session保存位置
 * 		session.sava_path="/xxxxx/xxxxx"
 * 		session.**等用来设置session属性
 * 
 * 1.开启session
 * 	若是基于cookie的session,那么在session_start之前不允许有任何形式的输出
 * 	或者在配置文件中使用session.auto_start=1;
 * 	如果使用配置文件,那么对象无法放入对象文件中;所以不建议使用配置文件开启
 * 
 * 2.销毁session
 * 
 * 
 * 	
 */
	//开启session或者使用已经开启的sessionId
	session_start();

	//只要是当前会话,再打开其他页面中,就可以通过_SESSION["aa"]和_SESSION["bb"]来访问内容
	$_SESSION["aa"]="111";
	$_SESSION["bb"]="222";
	
	echo "session_id:".session_id();
	echo "<br>session_name:".session_name();
	//如果开启了cookie就可以从默认的cookie中找到sessionid
	//PHPSESSID是php.ini中的session.name的属性值
	echo "<br>COOKIEId:".$_COOKIE["PHPSESSID"];
	echo "<br>COOKIEName:".$_COOKIE[session_name()];
	
	destroySession();
	
	/**
	 * 销毁session
	 */
	function destroySession(){
		//1.开启session
		//在新页面中需要先开启session
//		session_start();
		
		//2.删除数据
		//删除session中的值方法一:
		unset($_SESSION["aa"]);
		//删除session中的值方法二:
		$_SESSION=array();
		
		//3.删除客户端在COOKIE中 sessionID
		if (isset($_COOKIE[session_name()])){
			//需要指定cookie的路径在php.ini中session.cookie_path
			setcookie(session_name(),'',time()-3600,'/');
		};
		
		//4.彻底销毁session
		session_destroy();
	}
?>