代码改变世界

PHP函数-session函数

2012-07-22 11:35  BytesLoop  阅读(283)  评论(0编辑  收藏  举报
  1. session_cache_expire   以分钟为单位设置 session 的过期时间
    1 <?php
    2 session_cache_expire(30);
    3 $cache_expire=session_cache_expire();
    4 session_start();
    5 echo "session 的过期时间被设置为 $cache_expire 分钟";    //session 的过期时间被设置为 30 分钟
    6 ?>
  2. session_cache_limiter   用于设置页面缓存的方式
    1 <?php
    2 session_cache_limiter("private");
    3 $cache_limiter=session_cache_limiter();
    4 session_start();
    5 echo "session 的缓存方式被设置为 $cache_limiter";    //session 的缓存方式被设置为 private
    6 ?>
  3. session_decode    可将 session 资料解码.该函数的参数即为要解码的资料,成功则返回 true 值
    1 <?php
    2 session_start();
    3 $str="session 资料的内容";
    4 echo session_decode($str);    //1
    5 ?>
  4. session_destroy   用于结束当前所有 session
     1 <?php    //实现用户身份验证
     2  if($_POST["submit"]!=""){
     3    $name=$_POST["name"];
     4    $pwd=$_POST["pwd"];
     5    if($name=="mr"&&$pwd=="mrsoft"){
     6      session_register("username");
     7      session_register("userpwd");
     8      $username=$name;
     9      $userpwd=$pwd;
    10      echo "<script>alert('登录成功!');window.location.href='success.php';</script>";
    11    }else{
    12      echo "<script>alert('用户名或密码输入错误!');</script>";
    13    }
    14  }
    15 ?>
    1 <?php    //用户注销
    2 session_start();
    3 session_destroy();
    4 header("location:index.php");
    5 ?>
  5. session_encode   将 session 资料解码
    1 <?php
    2 session_start();
    3 session_register("mr");
    4 $mr="mingrisoft";
    5 echo session_encode();    //mr|s:10:"mingrisoft";
    6 ?>
  6. session_get_cookie_params   返回一个包括 session 信息的数组
    1 <?php
    2 session_start();
    3 $array=session_get_cookie_params();
    4 print_r($array);    //Array ( [lifetime] => 0 [path] => / [domain] => [secure] => [httponly] => ) 
    5 ?>
  7. session_id   存取目前 session 代号
    1 <?php
    2 session_start();
    3 session_register("iwanc");
    4 echo session_id();        //1ad53699b1d9b74b94d765e6cf96834f
    5 ?>
  8. session_is_registered   判断某变量是否被注册为 session 变量
    1 <?php
    2 session_start();
    3 session_register("iwanc");
    4 echo session_is_registered("iwanc");    //1
    5 ?>
  9. session_module_name   取得或者重新配置目前 session 模块
    1 <?php    //应用session_module_name()函数获取当前的session模块
    2 session_start();
    3 echo session_module_name();        //files
    4 ?>
  10. session_name   用于获取或重新设置目前 session 的名称
    1 <?php    //应用session_name()函数将当前session的名称设置为"iwanc"
    2 session_start();
    3 session_name("iwanc");
    4 echo session_name();    //iwanc
    5 ?>
  11. session_regenerate_id   为当前 session 设置新的代号
     1 <?php    //应用session_regenerate_id()函数为当前session指定新的代号
     2 session_start();
     3 session_register("iwanc");
     4 $old_sessionid=session_id();
     5 session_regenerate_id();
     6 $new_sessionid=session_id();
     7 echo "原来的 session 代号为:$old_sessionid<br/>";
     8 echo "新的 session 代号为:$new_sessionid<br/>";
     9 print_r($_SESSION);
    10 ?>
  12. session_register   用于在整个域范围内增加一个 session 变量
    1 <?php
    2 session_start();
    3 $vname=$_POST["vname"];
    4 $value=$_POST["value1"];
    5 session_register($vname);
    6 $$vname=$value;
    7 print_r($_SESSION);
    8 ?>
  13. session_save_path    取得或者重新配置目前存放 session 的路径
  14. session_set_cookie_params    设置在 php.ini 文件中定义的 cookie 参数
  15. session_set_save_handler    定义操作 session 的函数
  16. session_start   本函数初始化一个新的 session
     1 <?php
     2 session_start();      //初始化session变量
     3 
     4 class car{              //购物车类
     5 
     6   public function addcar($x){        //将商品添加到购物车
     7    $id=$x;
     8    $arraygwc=explode("@",$_SESSION["prolist"]);
     9   for($i=0;$i<count($arraygwc);$i++)
    10     {
    11       if($arraygwc[$i]==$id)
    12       {
    13          echo "<script>alert('该商品已经在购物车中!');history.back();</script>";
    14          exit;
    15       }
    16     }
    17    $_SESSION["prolist"].="$id@"; 
    18    $_SESSION["num"].="1@";
    19    echo "<script>window.location.href='index.php';</script>";
    20   
    21   }
    22   
    23   
    24  public function changenum(){        //更改购物车中商品数量
    25   $arrayid=explode("@",$_SESSION["prolist"]);
    26   $arraynum=explode("@",$_SESSION["num"]);
    27    while(list($name,$value)=each($_POST))
    28    {
    29   
    30    if(!is_numeric($value)||$value=="")
    31      {
    32         echo "<script>alert('请输入正确的商品数量!');history.back();</script>";
    33         exit;  
    34      }
    35    for($i=0;$i<count($arrayid);$i++)
    36     {  
    37      
    38      if($arrayid[$i]==$name)
    39       {
    40         $arraynum[$i]=$value;
    41         
    42       } 
    43      }
    44    }
    45    $_SESSION["num"]=implode("@",$arraynum);
    46    echo "<script>window.location.href='index.php';</script>";
    47    }
    48    
    49    
    50    public function setnull(){        //清空购物车
    51    $_SESSION["prolist"]="";
    52    $_SESSION["num"]="";
    53    echo "<script>window.location.href='index.php';</script>";
    54    
    55    }
    56    
    57    
    58    public function removeitem($x){    //从购物车中移除指定的商品
    59     $arrayid=explode("@",$_SESSION["prolist"]);
    60     $arraynum=explode("@",$_SESSION["num"]);
    61     for($i=0;$i<count($arrayid);$i++)
    62      {
    63        if($arrayid[$i]==$x)
    64         {
    65           unset($arrayid[$i]);
    66           unset($arraynum[$i]);
    67         }
    68      }
    69      $_SESSION["prolist"]=implode("@",$arrayid);
    70      $_SESSION["num"]=implode("@",$arraynum);
    71      echo "<script>window.location.href='index.php';</script>";
    72    }   
    73 } 
    74 ?>
  17. session_unregister   删除域内指定的 session 变量
     1 <?php
     2 session_start();
     3 session_register("AAA");
     4 session_register("BBB");
     5 $_SESSION["AAA"]="aaa";
     6 $_SESSION["BBB"]="bbb";
     7 session_unregister("AAA");
     8 echo $_SESSION["AAA"];    
     9 echo $_SESSION["BBB"];        //bbb
    10 ?>
  18. session_unset    用于释放所有已注册的 session 变量
  19. session_write_close   结束 session 并存储 session 数据
    1 <?php
    2 session_start();
    3 session_register("AAA");
    4 $_SESSION["AAA"]="aaa";
    5 session_write_close();
    6 ?>