PHP 新手入门之session

1.什么是session

session 变量用于存储关于用户会话(session)的信息,或者更改用户会话(session)的设置。Session 变量存储单一用户的信息,并且对于应用程序中的所有页面都是可用的 

2.php session  变量

您在计算机上操作某个应用程序时,您打开它,做些更改,然后关闭它。这很像一次对话(Session)。计算机知道您是谁。它清楚您在何时打开和关闭应用程序。然而,在因特网上问题出现了:由于 HTTP 地址无法保持状态,Web 服务器并不知道您是谁以及您做了什么。

PHP session 解决了这个问题,它通过在服务器上存储用户信息以便随后使用(比如用户名称、购买商品等)。然而,会话信息是临时的,在用户离开网站后将被删除。如果您需要永久存储信息,可以把数据存储在数据库中。

Session 的工作机制是:为每个访客创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,或者通过 URL 进行传导。

3.开启session

session_start();

<?php
	session_start();
	$_SESSION['name'] = "admin";
?>
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>session</title>
</head>
<body>
	
</body>
</html>

如上代码所示,这样session就已经被开启了,当我们想在session中存入数据或者取出数据,首先我们就要开启session   

session 开启之后,存入session 的数据是可以被其他页面调用的

在session 变量中存入数据

<?php
	session_start();
	$_SESSION['name'] = "admin";
?>
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>session</title>
</head>
<body>

</body>
</html>

这样我们就在$_SESSION['name']这个变量中,存入了一个admin的值

然后输出session

<?php
	session_start();
	$_SESSION['name'] = "admin";
?>
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>session</title>
</head>
<body>
	<?php
		echo "欢迎您:".$_SESSION['name']."!";
	?>
</body>
</html>

当我们在另外一个文件中写入

<?php
    echo "欢迎您:".$_SESSION['name']."!";
?>

也是可以输出session中name的值

销毁session

如果您希望删除某些 session 数据,可以使用 unset() 或 session_destroy() 函数。

unset() 函数用于释放指定的 session 变量

session_distroy()  一般用于销毁session

比如俩个页面,第一个页面,我们用到session    但是没有关闭,到第二个页面的时候

<?php

session_distroy();

?>

这样session 就被清空了

session   与  cookie   的区别

1、cookie数据存放在客户的浏览器上,session数据放在服务器上。

2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
   考虑到安全应当使用session。

3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
   考虑到减轻服务器性能方面,应当使用COOKIE。

4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

5、所以个人建议:
   将登陆信息等重要信息存放为SESSION
   其他信息如果需要保留,可以放在COOKIE中

继续学习
||
<?php session_start(); $_SESSION['name'] = "admin"; ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>session</title> </head> <body> </body> </html>
提交重置代码