zoukankan      html  css  js  c++  java
  • 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。

  • 相关阅读:
    理解内存对齐
    Nodejs koa2读取服务器图片返回给前端直接展示
    nodejs koa2 设置 静态资源目录
    把 nodejs koa2 制作的后台接口 部署到 腾讯云服务器
    nodejs 更改项目端口号的 方法
    简单实现 nodejs koa2 mysql 增删改查 制作接口
    java对象的序列化以及反序列化详解
    springboot对LocalDateTime类型入参和接口返回值格式化
    js 正则exec()函数在循环中使用
    centeros 7 忘记root密码,重置
  • 原文地址:https://www.cnblogs.com/jly144000/p/7582651.html
Copyright © 2011-2022 走看看