Session是php的预定义变量之一。用于存储关于用户会话的信息,或者更改用户会话的设置。

简介

Session特点:

1、用户访问网站,由服务器自动创建
2、用户离开网站时,由服务器自动销毁
3、访问网站的每个用户,都有一个独立的Session
4、Session只能存储单一用户信息
5、Session中存储的信息,在网站所有页面均可访问
6、Session以文本文件的形式,存储在服务器端

Session工作机制是:

服务器为访问网站的每个用户,创建一个唯一的session_id,并基于这个session_id以文本文件的形式来存储用户会话的信息。

开启Session

Session在使用之前必须开启,在php中,可以通过session_start()函数开启Session.

  1. <?php
  2. header("content_type:text/html;charset=utf-8");
  3. session_start(); //在函数之前,不能有任何形式的输出
  4. echo session_id(); //获得当前用户的session_id

使用Session

在php中,通过预定义变量$_session,可以实现Session的存值与取值。

<?php
  header("content-type:text/html;charset=utf-8");

    session_start();
    $_SESSION["userName"] = "张三";
    $_SESSION["age"] = 30; //Session中可以存储任意类型的数据

    echo "Session中的用户名:{$_SESSION["userName"]}<br/><br/>";
    echo "Session中的年龄:{$_SESSION["age"]}";

销毁Session

销毁Session可以清除Session中存储的数据。在php中,可以通过unset()函数和session_destroy()函数来销毁Session数据。

unset()函数

unset()函数用于销毁Session中的指定数据。

<?php
  header("content-type:text/html;charset=utf-8");

    session_start();
    $_SESSION["userName"] = "张三";
    $_SESSIONP["age"] = 30;

    unset($_SESSION["userName"]);
    print_r($_SESSION);

session_destroy()函数

改函数的实现原理,是将Session对应的文本文件删除。
可是,该函数并没有清空预定义变量$_SESSION中的数据,所以下面的示例在运行时,仍然会有输出结果。但是,在浏览器页面跳转后,当我们再次获得Session中的数据时,会发现Session中的数据已被清空

<?php
header("content-type:text/html;charset=utf-8");

session_start();

$_SESSION["userName"] = "张三";
$_SESSION["age"] = 30;

session_destroy();

print_r($_SESSION);

mysql_insert_id() 查找Insert查询id

mysqlinsert_id() 返回给定的 connection 中上一步 INSERT 查询中产生的 AUTO_INCREMENT 的 ID 号。如果没有指定 _connection ,则使用上一个打开的连接。