zoukankan      html  css  js  c++  java
  • PHP Sessions

    1、Session概述

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

    通过在服务器上存储用户信息以便随后使用,不过,会话信息是临时的,在用户离开网站后将被删除。如果您需要永久储存信息,可以把数据存储在数据库中。

    Session 的工作机制是:为每个访问者创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,亦或通过 URL 进行传导。

    2、启动Sessions会话

    使用session_start() 函数启动会话,且该函数必须位于 <html> 标签之前

    <?php session_start(); ?>
    <html>
    <body>
    </body>
    </html>


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

    PS:php.ini中session.auto_start属性可以打开自动开启session_start()

    设置session存储路径

    $path = './tmp/';      //将session存储到当前目录的tmp目录下              
    session_save_path($path);
    session_start();

    Session客户端缓存

    session_cache_limiter('private');
    $cache_limit = session_cache_limiter();
    session_cache_expire(30);
    $cache_expire = session_cache_expire();
    session_start();

    3、获取Session会话ID

    session_start(); 
    echo session_id();

    也可以自己设置Session会话ID

    session_id(“www.gzhu.edu.cn");
    session_start(); 
    echo session_id();

    4、存储 Session 变量

    存储和取回 session 变量的正确方法是使用 PHP $_SESSION 变量:
    创建一个简单的 page-view 计数器。isset() 函数检测是否已设置 "views" 变量。如果已设置 "views" 变量,累加计数器。如果 "views" 不存在,则创建 "views" 变量,并把它设置为 1:

    session_start();
    if(isset($_SESSION['views']))
    $_SESSION['views']=$_SESSION['views']+1;
    else
    $_SESSION['views']=1;
    echo "Views=". $_SESSION['views'];

    5、终结 Session

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

    unset($_SESSION['views']);

    通过 session_destroy() 函数彻底终结 session:

    session_destroy();

     6、应用

    使用COOKIE限制用户访问网站的时间

    登录页面:

    setcookie("cookie1",$_POST['user'],time()+30);

    验证页面:

    session_start();
    if(isset($_COOKIE['cookie1']) && $_COOKIE['cookie1']!=''){      
        echo "<p>用户您好</p></span>    <p> &nbsp;&nbsp;&nbsp; 您当前使用的是“试用版学习资源网”,主要应用COOKIE实现对网站访问时间的限制,当浏览者在网站中停留的时间超过网站规定的访问时间时,将自动跳转到登录页面,只有重新登录才可以继续访问 </p>";
    }else{ 
        echo "您在本网站停留的时间已经超过我们限制的时间,系统将在5秒钟后退出登录!!谢谢!请稍等...";
        echo "<meta http-equiv="Refresh" content="5;url=index.php">";
    }

    应用Session技术实现聊天室换肤

    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>应用Session技术实现聊天室换肤</title>
    <style type="text/css">
    <!--
    .style6 {
        font-size: 24px;
        color: #000000;
        font-weight: bold;
    }
    -->
    </style>
    </head>
    <?php
        if(isset($_POST['select'])){
            $_SESSION['color1']=$_POST['select'];
        }
    ?>    
    <body style="background-color:<?php if(isset($_SESSION['color1'])) echo $_SESSION['color1'];?>">
    <table width="1024" border="1" align="center" cellpadding="1" cellspacing="1">
      <tr align="center" valign="middle">
        <td height="80" colspan="2" class="style6">聊天室</td>
      </tr>
      <tr valign="middle">
        <td width="209" height="479" valign="top"><br>
            <span>&nbsp;&nbsp;***进入聊天室,欢迎光临!!</span><br>
    &nbsp;&nbsp;<?php echo date("y-m-d h:i:s");?>
    </td>
        <td  valign="top"><br>
        &nbsp;&nbsp;&nbsp;&nbsp;在这里显示聊天的内容,希望大家遵守聊天室的规则,不要在聊天室中传播不健康的和非法的内容,谢谢合作! </span></td>
      </tr>
      <tr valign="middle">
        <td height="50" colspan="2"><p><br>
          在这里选择您喜欢的颜色,您的页面也将随即更新!</p>
          <form name="form1" method="post" action="">
            <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;请选择您喜欢的风格:</span>
            <select name="select" id="select">
              <option value="green">草绿色</option>
              <option value="yellow">亮黄色</option>
              <option value="white">纯白色</option>
              <option value="red">鲜红色</option>
              <option value="gray">深灰色</option>
              <option value="lavender" selected>熏衣草</option>
              </select>
          <input type="submit" name="Submit" value="提交">
        </form></td>
      </tr>
    </table>
    </body>
    </html>
  • 相关阅读:
    无限风光 : 近来地形算法学习小结
    上帝的天空之岛
    Layered>Variance>Shadow Map
    好事多磨:Ogre1.7 编译记
    蒙特卡罗(Monte Carlo)方法(转自百度百科)
    linux下压缩打包命令合辑
    Ubuntu Linux 环境搭建|adnroid篇
    个人知识管理(转)
    ubuntu 跳强技巧(转)
    Ubuntu Linux环境搭建|Java篇
  • 原文地址:https://www.cnblogs.com/chuanzi/p/10390220.html
Copyright © 2011-2022 走看看