PHP中的会话控制—session和cookie(实现数据传值功能)

Posted WORSHIP亚萨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP中的会话控制—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。

以上是关于PHP中的会话控制—session和cookie(实现数据传值功能)的主要内容,如果未能解决你的问题,请参考以下文章

PHP 会话控制 cookie与session 全解析

PHP 会话管理

php学习笔记-会话控制简单介绍session和cookie

11月7日上午PHP会话控制(session和cookie)跨页面传值

php会话控制cookie/session

php 会话控制(禁用cookie后session为什么会失效?)