PHP学习笔记:php会话处理(Cookie和session)

Cookie的应用

eg8-2.php  一个简单的例子,打印$_COOKIE数组的内容

<?PHP//eg:8.2
    $value = "my cookie value";

    //发送一个简单的cookie
    setcookie("TestCookie",$value, time()+60*60*24*30);
?>

<html>
<body>
    <?PHP
        if (isset($_COOKIE["TestCookie"]))
            echo($_COOKIE["TestCookie"] . "<BR>");
        print_r($_COOKIE);
    ?>
</body>
</html>

eg8-3.php  记录用户访问当前网页的次数

<?PHP
    if(isset($_COOKIE["num"]))
        $num = $_COOKIE["num"];
    else
        $num = 0;
    $num = $num +1;
    setcookie("num",$num, time()+60*60*24*30);
    /*删除Cookie数据
    setcookie("num",$num, time()-3600);
    实际是将有效期设置为过去的时间
    */
?>

<html>
<body>
    <?PHP
        if($num >1)
            echo("你已是第" . $num . "次访问本站点了。");
        else
            echo("欢迎你首次访问本站。");
    ?>

<BR><BR>下面是网页的正文<BR>
</body>
</html>

————————————————————————————————————————————————————————————————————————

用户身份验证时使用cookie

login.php

<html>

<head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>用户名</title>
</head>
<script language="javascript">
function form_onsubmit(obj)
{
  if(obj.txtUserName.value == "") {
    alert("请输入用户名");
       return false;
  }
  if(obj.txtPwd.value == "") {
    alert("请输入密码");
    return false;
  }
  return true;
}
</script>

<body>

<form name="form1" method="post" action="">
  <label></label>
</form>
<div align="center">
    <hr color="#000080" size="3" width="80%">
    <form method="POST" action="check.php">
        <table border="0" width="35%" id="table1" style="line-height: 100%; margin-top: 6; margin-bottom: 6">
            <tr>
                <td>
                <p style="margin-top: 12px; margin-bottom: 12px">用户名:</td>
                <td>
                <p style="margin-top: 12px; margin-bottom: 12px">
                <input type="text" name="txtUserName" value="<?PHP echo($_COOKIE["username"]); ?>" size="20"></td>用户信息
                <!--添加从Cookie中读取用户名信息的功能-->
            </tr>
            <tr>
                <td>
                <p style="margin-top: 12px; margin-bottom: 12px">密码:</td>
                <td>
                <p style="margin-top: 12px; margin-bottom: 12px">
                <input type="password" name="txtPwd" value="<?PHP echo($_COOKIE["password"]); ?>" size="20">
                <!--添加从Cookie中读取密码信息的功能-->
                <input name="checkboxCookie" type="checkbox"  checked>
                <label>保留用户信息一年</label></td>
            </tr>
            <tr>
                <td colspan="2">
                <p align="center" style="margin-top: 12px; margin-bottom: 12px">
                  <input type="submit" value="登 录" name="B1" style="font-size: 11pt; font-family: 宋体" onClick="return form_onsubmit(this.form)">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
              <input type="reset" value="重 置" name="B2" style="font-family: 宋体; font-size: 11pt"></td>
            </tr>
        </table>
        <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        </p>
    </form>
    <p> </div>

</body>

</html>

check.php

<?PHP
  //取输入的用户名和密码
  $UID=$_POST[‘txtUserName‘];
  $PWD=$_POST[‘txtPwd‘];

  // 验证用户名和密码
 if($UID == "admin" and $PWD == "pass")
 {
   echo("您已经登录成功,欢迎光临。");
   if($_POST[‘checkboxCookie‘]== "on")
   {
         setcookie("username",$UID,  time()+60*60*24*365);
         setcookie("password",$PWD,  time()+60*60*24*365);
   }
 }
 else
   echo("登录失败,请返回重新登录。");
?>

————————————————————————————————————————————————————————————————————————



Session

eg8-5.php  开始会话并输出Session ID和Session的名字

<?PHP
    session_start();
    echo("session_id()=" . session_id());
    echo("<br>");
    echo("session_name()=" . session_name());
?>

eg8-6.php  使用全局数组$_SESSION存取Session数据的例子

<?PHP
    //全局变量数组$_SESSION设置和获取Session数据,可在程序的任何位置访问它
    //error_reporting(0);
    date_default_timezone_set(‘Asia/Chongqing‘);//系统时间差8小时问题
    //开始会话,在访问数组$_SESSION之前调用
    session_start();

    if($_SESSION["last_visit"]) {
        echo "你上次访问的时间为: ";
        echo date("Y-m-d , H:i:s",$_SESSION["last_visit"]);
        echo "<br>";
        echo "访问次数: ".$_SESSION["num_visits"];
    }
    else
        echo "这是你的第一次访问。";

    $_SESSION["last_visit"] = time();
    $_SESSION["num_visits"]++;

    /*
    在不关闭浏览器的情况下,访问其他网站再返回,Session会被保留。而关闭浏览器,Session数据就会丢失
    */
?>

eg8-8.php  使用unset()函数释放会话变量的例子--删除会话变量

<?PHP
    //使用unset()函数释放会话变量
    //开始会话
    session_start();
    $_SESSION["num_visits"]++;

    unset($_SESSION["num_visits"]);
    echo($_SESSION["num_visits"]);
?>

eg8-9.php  使用session_unset()函数销毁会话的例子

<?PHP
    //使用session_unset()函数销毁会话
    //开始会话
    error_reporting(0);
    session_start();

    //print_r($_SESSION);

    $_SESSION[‘user‘] = ‘admin‘;
    session_unset();
    if($_SESSION[‘user‘])
        echo("用户名:" . $_SESSION[‘user‘] . "<br> session_id=" . session_id());
    else
        echo("no username found" . "<br> session_id=" . session_id());
    $_SESSION[‘user‘] = ‘admin‘;

    /*
    显示结果为:
    no username found
    session_id=hufnddl8v5lpm6j3bar1m3j8u5

    由此我们可知:session_unset()没有释放(销毁) Session ID
    */
?>

eg8-10.php  使用session_destroy()函数销毁会话的例子

<?PHP
    /*
    使用session_destroy()函数销毁会话,
    可以删除当前用户对应的session文件,
    释放sessionID,内存中$_SESSION变量内容依然保留。
    */
    //开始会话
    //error_reporting(0);
    session_start();

    //print_r($_SESSION);

    $_SESSION[‘user‘] = ‘admin‘;
    session_destroy();
    echo("用户名:" . $_SESSION[‘user‘]);
    echo("<br> session_id=" . session_id());

    /*
    显示结果为:
    用户名:admin
    session_id=
    */
?>

截图:

时间: 2024-10-11 01:26:57

PHP学习笔记:php会话处理(Cookie和session)的相关文章

JavaWeb学习笔记五 会话技术Cookie&amp;Session

什么是会话技术? 例如网站的购物系统,用户将购买的商品信息存储到哪里?因为Http协议是无状态的,也就是说每个客户访问服务器端资源时,服务器并不知道该客户端是谁,所以需要会话技术识别客户端的状态.会话技术是帮助服务器记住客户端状态(区分客户端). 从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,成为一次会话.会话技术就是记录这次会话中客户端的状态与数据的.会话技术分为Cookie和Session: Cookie:数据存储在客户端本地,减少服务器端的存储的压力,安全性不好,客户端可以清除

2014-07-09 Java Web的学习(5)-----会话管理(Cookie和Session)

1.什么是会话 会话,牛津词典对其的解释是进行某活动连续的一段时间.从不同的层面看待会话,它有着类似但不全然相同的含义.比如,在web应用的用户看来,他打开浏览器访问一个电子商务网站,登录.并完成购物直到关闭浏览器,这是一个会话.而在web应用的开发者开来,用户登录时我需要创建一个数据结构以存储用户的登录信息,这个结构也叫做会话.因此在谈论会话的时候要注意上下文环境.而本文谈论的是一种基于HTTP协议的用以增强web应用能力的机制或者说一种方案,它不是单指某种特定的动态页面技术,而这种能力就是保

会话技术: Cookie 和 Session

会话技术 会话技术:从浏览器开始访问服务器,到关闭浏览器,这期间发生了许多次请求和响应,这个过程就叫做一次会话. Cookie 和 Session 都是处理会话技术的两种具体实现,Cookie将数据保存在客户端,Session将数据保存在服务器端. Cookie技术 1.Cookies是存储在客户机的文本文件,可以保存一系列的信息.通常服务器有三个步骤来识别不同的客户机: 服务器脚本发送一系列cookies至浏览器.比如名字,年龄,ID号码等等. 浏览器在本地机中存储这些信息. 当下一次浏览器发

【计算机网络学习笔记】什么是cookie以及cookie劫持的基本概念

谨为今后学习参考的笔记.内容来自互联网. Cookie的基本概念: Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie).Cookie名称和值可以由服务器端开发自己定义,对于JSP而言也可以直接写入jsessionid,这样服务器可以知道该用户是否合法用户以及是否需要重新登录等,服务器可以设置或读取Cookies中包含信

【学习】013 Servlet、Cookie、Session的简述

Servlet核心内容 Sevlet的生命周期(重点) Servlet重要的四个生命周期方法 构造方法: 创建servlet对象的时候调用.默认情况下,第一次访问servlet的时候创建servlet对象只调用1次.证明servlet对象在tomcat是单实例的. init方法: 创建完servlet对象的时候调用.只调用1次. service方法: 每次发出请求时调用.调用n次. destroy方法: 销毁servlet对象的时候调用.停止服务器或者重新部署web应用时销毁servlet对象.

JAVA基础之会话技术-Cookie及Session

至此,学习三个域对象:ServletContext(web项目).request(一次请求).Session(一个客户端)!均有相同的方法! 从用户开始打开浏览器进行操作,便开始了一次会话,直至关闭浏览器为止结束.在此过程中,每次产生请求时均会产生一次cookie,同时会产生一个JESSIONID进入到客户端进行创建内存空间,下次调用直接寻找此唯一的ID值.数据存储在两个地方均有利弊!需要注意的是,浏览器关闭,session并没有销毁! 一.会话技术简介: 1.存储客户端的状态: 因为Http协

会话跟踪Cookie与Session

会话跟踪用来跟踪用户的整个会话,常用的是Session和Cookie.Cookie通过客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份. 1.Cookie  1.1概念及使用方法 Cookie实际上是一小段文本信息.客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie.客户端浏览器会把Cookie保存起来,当浏览器再请求该网站时,把请求的网址连同该Cookie一同交给服务器.服务器检查该Cookie,以此来辨认用户状

会话技术cookie和session详解

什么是会话 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. 会话技术解决了什么问题 每个用户与服务器进行交互的过程中,各自会有一些数据,程序要想办法保存每个用户的数据. 例如:用户点击超链接通过一个servlet购买了一个商品,程序应该保存用户购买的商品,以便于用户点结帐servlet时,结帐servlet可以得到用户商品为用户结帐. 会话技术分类 会话技术会为两类 Cookie Cookie是客户端技术,程序把每个用户的数

Java web 会话技术 cookie与session

一.会话 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. 会话过程中要解决的一些问题 每个用户在使用浏览器与服务器进行会话的过程中,不可避免各自会产生一些数据,程序要想办法为每个用户保存这些数据. 二.保存会话数据的两种技术 1.Cookie Cookie是客户端技术,程序把每个用户的数据以cookie的形式写给用户各自的浏览器.当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去.这样,web资源处理的就是

会话技术cookie与session

目录 会话技术cookie 会话技术 cookie 服务器怎样把Cookie写 给客户端 服务器如何获取客户端携带的cookie session session简介 Session如何办到在一个servlet当中存数据, 如何获取Session对象 怎样向session当中存取数据 session的生命周期 JsessioID持久化 会话技术cookie 会话技术 ? 什么是会话 用户开一个浏览器 点击多个超链接,访问服务器多个web资源 然后关闭浏览器,整个过程称之为一个会话. 和打电话一样,