嘛~最近在用php做网页的时候苦于每当跳转页面(即使是跳转回自己来更新显示内容)数据就会更新,看来不得不学一下session与cookie的使用了。

  首先说一下session和cookie的区别吧。

  简单来说,这两个是全局变量,作用范围是“该用户访问的所有php”。区别是一个存在客户端,一个存在服务器。

  概念的东西不做赘述,去百度啥的都可以,直接上用法:

 session:

  (1)启动session:

     bool session_start();  注:该函数之前的当前页中不允许有任何内容输出,也不能出现其他Html代码

  (2)注册session:

     bool session_register(mixed name[,mixed…………])

   (3) 调用session:

     1、$_SESSION["var"] 来调用 var

     2、php配置开启register_globals()开关;

       直接调用 $var

  (4)关闭session:

     bool session_destroy();  注:该函数将关闭所有与当前session关联的数据,但并不会注销所有session

  (5)检查指定变量是否为session:

     1、当session以bool session_register(mixed name[,mixed…………])语句定义时:

        session_is_registered($var)  判断$var是否是session

     2、当session直接以$_SESSION[]赋值时

        bool isset(mixed name[,mixed…………])检查

   (6)获取或设置session的保存路径

      $path=session_save_path();    //获取路径,未设置时为""

      $new_path="temp"

      session_save_path($new_path) //设置新路径

   (7)释放session变量

      1、当session以bool session_register(mixed name[,mixed…………])语句定义时:

        bool session_unregister(string name);      //这种注销并非完全注销,只是将该变量从session列表中清除,完全注销要使用unset()。

      2、当session直接以$_SESSION[]赋值时

           unset();     //参数是指定变量$_SESSION[name]而不是$_SESSION,否则会将所有session注销

 

  cookie:

  (1)注册cookie

      bool setcookie(string name[,string value[,int expire[,string,path[,string domain[,bool secure[,bool httponly]]]]]])

      

参数 说明 例子
name 指定的cookie的名称 $_COOKIE['cookiename']
value 指定cookie名称的值,如果省略该值将会清空相应cookie的值 $_COOKIE['cookiename']
expire 为cookie过期时间,若省略则cookie在关闭浏览器时失效 time()+60*60*24*30以秒数显示
path   为cookie相关路径 ‘/’
domain   domain指定cookie只在特定域名起作用 example.com
secure secure为bool型变量,标明cookie是否只有在安全时可以传输   true
httponly 是否只通过HTTP协议发送 trun

      好烦的注册,不过一般都用不到那么多,常用的也就几个而已:拿实例说话。

      <?php

      $user_id="1234";

      $user_name="guest";

      $flag=false;

      if(setcookie("user_id",$user_id))

        {

          if(setcookie("user_name",$user_name))

          {$flag=true;}

        }

      ?>

   (2)引用cookie:

      直接 $_COOKIE["user_id"]; 即可,

   (3)为cookie设置生命周期:

      cookie一过生命周期就会被自动删除。

      $time=60*60*24   //将时间设为一天

      setcookie("username","$username",$time);