php session的基础知识

什么是session?

session变量用于存储有关用户会话的信息,或更改用户会话的设置。Session 变量保存的信息是单一用户的,并且可供应用程序中的所有页面使用。而cookie只能用于本界面。

开始 PHP Session

在您把用户信息存储到 PHP session 中之前,首先必须启动会话。
注释:session_start() 函数必须位于 <html> 标签之前:

<?php session_start(); ?>

<html>
  <body>
  </body>
</html>

上面的代码会向服务器注册用户的会话,以便您可以开始保存用户信息,同时会为用户会话分配一个 UID。

存储 Session 变量

存储和取回 session 变量的正确方法是使用 PHP $_SESSION 变量。

<?php
  session_start();
  // store session data
  $_SESSION['age']=24;
?>

<html>
  <body>

    <?php
      //retrieve session data
      echo "年龄:". $_SESSION['age'];
    ?>

  </body>
</html>

isset() 函数检测是否已设置 “age” 变量。如果已设置 “age” 变量,我们累加计数器。如果 “age” 不存在,则我们创建 “age” 变量,并把它设置为 24。

<?php
  session_start();

  if(isset($_SESSION['age']))
    $_SESSION['age']=$_SESSION['age']+1;
  else
    $_SESSION['age']=24;
  echo "年龄:". $_SESSION['age'];
?>

如果出现
Warning: session_start(): Cannot send session cookie - headers already sent by...
类似的问题,将session_start()改为@session_start()即可。

终结 Session变量

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

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

<?php
  unset($_SESSION['age']);
?>

session_destroy() 函数彻底终结 session:

<?php
  session_destroy();
?>

注释:session_destroy() 将重置 session,您将失去所有已存储的 session 数据。

    原文作者:George2016
    原文地址: https://www.jianshu.com/p/c84ade1bd5c1
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞