`
jiagou
  • 浏览: 2525366 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

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();
	}
?>


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics