首页 > 代码库 > 会话控制(session和cookie)、跨页面传值
会话控制(session和cookie)、跨页面传值
1.session 登录上一个页面以后,长时间没有操作,刷新页面以后需要重新登录。
特点:(1)session是存储在服务器;
(2)session每个人(登陆者)存一份;
(3)session有默认的过期时间;(如果登录的人过多,数据就会太多,由于存储在服务器,会给服务器造成压力,过一定的时间会清除掉)
(4)session里面可以存储任意类型的数据。
由以上特点可以总结出session的特点是比较安全。缺点是对服务器造成一定的压力。
(5)当一个页面需要使用session时,需要在页面顶部加session_start();要在页面最上面写,前面不能出现任何代码,代码指的是PHP代码,可以有HTML代码。最好是养成习惯,把<?php session_start(); ?>写在页面的最顶部。一个页面写一次就可以。
(6)操作session。a.赋值。b.取值。
赋值:
<?php session_start();//session开始标签,在最顶部写。 ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> </head> <body>
<?php $_SESSION["uid"] = "zhangsan";//给$_SESSION["uid"]赋值。
?>
</body> </html>
取值:
取值可以在任意页面取值,比如说做登录页面时,可以把登录名、密码名等信息赋值给 $_SESSION["uid"],在同一个浏览器上的其它页面也可以取到登录名、密码名等的值,前提是赋值的页面要先打开过,如果直接打开其它页面取值,将无法取到。再就是关闭浏览器以后再打开,也要先打开赋值页面,其它页面才能取到值。
<?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> </head> <body>
<?php echo $_SESSION["uid"] ?>
</body> </html>
2.cookie
特点:(1)cookie存储在客户端,浏览器在清除浏览信息时会有cookie清除选项。
(2)cookie每人存一份。
(3)cookie没有默认过期时间。
(4)只能存储字符串。
由以上特点可以总结出cookie的特点是不安全,不会对服务器造成压力。
没有特殊要求的话session和cookie都可以使用,但是当涉及到安全性较高时,要选择session。
会话控制(session和cookie)、跨页面传值