zoukankan      html  css  js  c++  java
  • PHP Cookie和Session

    计应134(实验班) 郑寿奎

    Cookie

            Cookie是一种在客户浏览器端存储数据并以此来跟踪和识别用户的机制

           注意:

                  setcookie()函数定义一个和其余HTTP头一起发送的Cookie,它必须最先输出,在任何脚本输出之前包括<html>和<head>标签。
                  如果在setcookie()函数之前有任何的输出,那么setcookie就会失败并返回false。因此本程序不能添加标题,否则程序出错。

    一、创建Cookie

             格式:setcookie("名字",'值',[过期时间,路径,有效域名,是否安全通过HTTPS(1或0)])         //[ ]里面的是可选项

         例:

           <?

              setcookie("name",'abc');

              setcookie("pass",'123',time+60);         //有效时间为60秒

           ?>

           注意:PHP区分大小写

    二、读取Cookie

              格式:$_COOKIE["名字"]                //这里的名字与上面创建时的名字一样

        例:

              <?php
                  if(!isset($_COOKIE["name"]))         //判断Cookie文件是否存在
                    {
                  echo "Cookie不存在";
                     }
                  else{
                  echo "name的值为:".$_COOKIE["name"];             //获取Cooike的值
                    }
               ?>

    运行结果如下图:

                       

    三、删除Cookie

          删除Cookie有二种方法:

                     1.在浏览器中手动删除Cookie

                     2.使用setcookie()函数删除Cookie

             格式:setcookie("名字","",time()-1)            //失效时间设置为当前时间减一秒,即马上过期。也可以直接设置为0

        

    如果创建Cookie不设置失效时间,那么只有关闭浏览器,Cookie就会自动消失

    Session

            Session(会话)指有始有终的一系列动作/消息,用于保存值

          启动会话→注册会话→使用会话→删除会话

    一、启动

             session_start();               //一开始就要启动

    二、注册(赋值)

             $_SESSION["名字"]=null;            //先启动,在定义一个名字并赋值为空

    三、使用

           直接用 $_SESSION['名字']   使用,要么赋值给别人,要么别人赋值

            $变量=$_SESSION['名字'];

            $_SESSION['名字']=值;

    四、删除

           删除单个

               unset($_SESSION['名字']);

           删除多个

               $_SESSION=array();

           删除当前

                session_destroy();

     五、Session设置时间

                1) session_set_cookie_params()

                      <?php

                           $time=1*60;               //设置时间

                           session_set_cookie_params($time);

                           session_start();                          //启动Session

                           $_SESSION["name"]='abc';

                       ?>

           注意:session_set_cookie_params()必须在session_start()之前调用

                2) setcookie()

                        <?php

                                session_start();

                                $time=1*60;

                                 setcookie(session_name(),session_id(),time()+$time);

                                 $_SESSION['name']='abc';

                         ?>

              注意:session_name是Session的名称,session_id是判断判断客户端用户的标识

    六、验证登录

           用Session验证登录

               1)登录界面 index.php

                   <script language="javascript">
                         function check(form){
                              if(form.name.value==""){alert("请输入用户名");return false;}
                              if(form.pass.value==""){alert("请输入密码"); return false;}
                              form.submit();
                          }
                   </script>
                   <form name="a" method="post" action="shenzhi.php">
                           <input type="text" name="name" />
                           <input type="password" name="pass" />
                           <input type="submit" name="Submit" value="登录" onClick="return check(form);" />
                           <input type="reset" name="Reset" value="重置" />
                     </form>

    运行结果如图:

              如果用户名和密码没有输入就会出现提示框

             2)把用户名和密码保存在Session里 shenzhi.php

                  <?php

                       session_start();          //启动
                       $_SESSION["name"]=$_POST['name'];       // 保存
                       $_SESSION["paw"]=$_POST['pass'];
                       header("location:huoqu.php");           //自动跳转
                 ?>

             3)显示Session里的值 huoqu.php

                 <?php

                      session_start();         //启动
                      if(isset($_SESSION["name"])) {
                           echo "用户名为:".$_SESSION["name"]."<br>";      //显示值
                           echo "密码为:".$_SESSION["paw"]."<br>";
                           }
                       else{
                           echo "没有值";
                           }
                   ?>
                  <a href='delect.php'>注销</a>

             4)删除Session delect.php

                 <?php

                        session_start();      //启动
                        unset($_SESSION["admin"]);      //删除
                        unset($_SESSION["paw"]);
                        header("location:index.php");       //自动跳转
                   ?>

    当输入用户名:admin和密码:123运行结果如下图:

  • 相关阅读:
    关于css兼容性问题及一些常见问题汇总
    CSS3使用transition属性实现过渡效果
    CSS3 画基本图形,圆形、椭圆形、三角形等
    总结30个CSS3选择器
    javascript中call()、apply()的区别
    JavaScript面试技巧之数组的一些不low操作
    详解bootstrap-fileinput文件上传控件的亲身实践
    js控制随机数生成概率代码实例
    jQuery 第十章 工具方法-高级方法 $.ajax() $.Callbacks() .....
    jQuery 第九章 工具方法之插件扩展 $.extend() 和 $.fn.extend()
  • 原文地址:https://www.cnblogs.com/ZSK991656110/p/4949728.html
Copyright © 2011-2022 走看看