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.yculblog.com");
  相当于<meta http-equiv="refresh" content="3;url=http://zjerryj.yculblog.com"/>
header("location:http://zjerryj.yculblog.com");
  这个头信息比较特殊,没有对应的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";
?> 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值