PHP函数-session函数
2012-07-22 11:35 BytesLoop 阅读(283) 评论(0) 编辑 收藏 举报- 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 ?>
- 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 ?>
- session_decode 可将 session 资料解码.该函数的参数即为要解码的资料,成功则返回 true 值
1 <?php 2 session_start(); 3 $str="session 资料的内容"; 4 echo session_decode($str); //1 5 ?>
- 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 ?>
- session_encode 将 session 资料解码
1 <?php 2 session_start(); 3 session_register("mr"); 4 $mr="mingrisoft"; 5 echo session_encode(); //mr|s:10:"mingrisoft"; 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 ?>
- session_id 存取目前 session 代号
1 <?php 2 session_start(); 3 session_register("iwanc"); 4 echo session_id(); //1ad53699b1d9b74b94d765e6cf96834f 5 ?>
- session_is_registered 判断某变量是否被注册为 session 变量
1 <?php 2 session_start(); 3 session_register("iwanc"); 4 echo session_is_registered("iwanc"); //1 5 ?>
- session_module_name 取得或者重新配置目前 session 模块
1 <?php //应用session_module_name()函数获取当前的session模块 2 session_start(); 3 echo session_module_name(); //files 4 ?>
- session_name 用于获取或重新设置目前 session 的名称
1 <?php //应用session_name()函数将当前session的名称设置为"iwanc" 2 session_start(); 3 session_name("iwanc"); 4 echo session_name(); //iwanc 5 ?>
- 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 ?>
- 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 ?>
- session_save_path 取得或者重新配置目前存放 session 的路径
- session_set_cookie_params 设置在 php.ini 文件中定义的 cookie 参数
- session_set_save_handler 定义操作 session 的函数
- 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 ?>
- 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 ?>
- session_unset 用于释放所有已注册的 session 变量
- session_write_close 结束 session 并存储 session 数据
1 <?php 2 session_start(); 3 session_register("AAA"); 4 $_SESSION["AAA"]="aaa"; 5 session_write_close(); 6 ?>
作者:skyXnet
邮箱:iwanc@qq.com
出处:http://www.iwanc.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。