PHP5薄荷教程[12]对头信息、表单、cookie和session的处理 收藏
一、头信息 头信息一般指HTML中的meta标签,添加所使用的函数是:header(string string)。其中string是所要添加的头信息键值。比较常用的有: header("content-type:text/html;charset=gb2312"); 相当于<meta http-equiv="content-type" content="text/html;charset=gb2312"/> header("refresh:3;url=http://zjerryj."); 相当于<meta http-equiv="refresh" content="3;url=http://zjerryj."/> header("location:http://zjerryj."); 这个头信息比较特殊,没有对应的HTML,但是可以用上面的header("refresh:0;url=...")来代替。 另外必须注意的是,header()必须在未输出任何数据前使用,否则将无效。下面的setcookie()、session_start()等都有这种特性。有一种方法是使用输出缓存,我将在另外一个章节介绍。 二、表单
在预定义变量一节中已经介绍过了$_GET、$_POST和$_REQUEST数组。其中$_GET数组包含通过GET方法传送上来的数据,$_POST则包含用POST方法传送上来的数据,如果你不确定用户是通过哪种方式上传数据或同时使用了这两种方式,那么就可以使用$_REQUEST数组。如: index.php: <html><head><title>GET&POST&REQUEST</title></head> <body> <?php if(isset($_GET['varGET'],$_POST['varPOST'])){ print "varGET={$_GET['varGET']}<br/>varPOST={$_POST['varPOST']}<br/>"; print "From \$_REQUEST:varGET={$_REQUEST['varGET']} varPOST={$_REQUEST['varPOST']}"; } ?> <form name="form1" method="post" action="index.php?varGET=php5"> <input type="text" name="varPOST"/> <input type="submit" value="Submit"/> </form></body></html> 三、Cookies
1、读取cookie:使用预定义变量$_COOKIE数组或$_REQUEST数组。 2、设置cookie: 1)bool setcookie(string name [,string value [,int expire]]) name和value分别是cookie的名称和值。 expire指定cookie的过期时间,它是一个Unix时间戳,即从Unix纪元开始的秒数,通常用time()函数再加上秒数来设定cookie的失效期。或者用mktime()来实现。如把该值设定为time()+60*60*24的话,则表示该cookie将在1天后失效。如果不设置,那么该cookie将在会话结束(一般是关闭浏览器后)失效。 另外要注意的是,该函数和header()类似,必须在未输出任何数据前使用,如在PHP开头使用,否则将无效。 <?php $curTime=time(); setcookie("lastvisit",$curTime,$curTime+60); print "已经设置了cookie:lastvisit=$curTime 该cookie将在1分钟后失效<br/>"; if(isset($_COOKIE['lastvisit'])){ print "上次设置的cookie:lastvisit={$_COOKIE['lastvisit']}"; } ?> 2)bool setrawcookie(string name [,string value [,int expire]]) setrawcookie()和setcookie()完全相同,只是setrawcookie在向浏览器发送cookie时不会自动进行URL编码。 四、Sessions
session是基于cookie的,但是仅针对单一客户,且数据经过加密。session的有效期是浏览器关闭前。 在默认设置下,session不会被启用,所以在使用session前必须使用session_start()来启动session。该函数和header()一样,必须在未输出任何数据前使用。访问session时使用的是$_SESSION数组,该数组可读可写,并可直接创建空值。 <?php session_start(); $curTime=time(); if(isset($_SESSION['lastvisit'])){ print "上次设置的session:lastvisit={$_SESSION['lastvisit']}<br/>"; } $_SESSION['lastvisit']=$curTime; print "已经设置了session:lastvisit=$curTime" 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zjerryj/archive/2008/02/22/2114045.aspx |
|