PHP5薄荷教程[12]对头信息、表单、cookie和session的处理
2008-02-22 18:50
681 查看
一、头信息
头信息一般指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";
?>
头信息一般指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";
?>
相关文章推荐
- [ASP.net教程]ASP.NET保存信息总结(Application、Session、Cookie、ViewState和Cache等)
- 日期、表单接收、session、cookie(php教程三)
- 浏览器在不开启Cookie下Session处理小结 推荐
- ASP.NET保存信息总结(Application、Session、Cookie、ViewState和Cache等) .
- Vue.JS入门教程之处理表单
- APPlication,Session,Cookie和ViewState等对象保存信息的区别
- PHP基础教程十七之会话技术COOKIE、SESSION
- Application、Session、Cookie、ViewState和Cache等对象保存信息的
- ASP.NET保存信息总结(Application、Session、Cookie、ViewState和Cache等)【转】
- 将用户信息保存到session、Cookie?
- Flask系列教程(11)——cookie和session
- 使用HttpWebRequest提交ASP.NET表单并保持Session和Cookie
- CefSharp使用教程三(Cookie处理)
- 一个小型浏览器架构:HTTP通讯、COOKIE处理、HTML解析、JS模拟、表单处理
- PHP5薄荷教程[2]对第一个PHP页的分析与理解
- PHP5薄荷教程[10]正则表达式函数
- PHP5薄荷教程[17]字符串操作函数(1)
- 分别用cookie和session保存用户登录信息
- ASHX处理过程读写Session信息
- 使用HttpWebRequest提交ASP.NET表单并保持Session和Cookie