当前位置: 首页 > 图文教程 > 网络编程 > PHP > 浅谈PHP语法(6)

PHP
MYSQL版本大于4.1问题 - PHPchina
怎么让用户点击一个连接后,把一个图片另存了 - PHPchina
武汉10月15日Phper聚会召集!!! - PHPchina
php如果不等待exec执行的程序创建的子进程? - PHPchina
哪位知道DISCUZ处理防SQL注入的代码是哪部分 - PHPchina
求教!我实在不知道哪里问题,在线等ing - PHPchina
怎样结束用户某一进程 - PHPchina
比对用户名密码能不能这样写? - PHPchina
求助:如何在PHP+mysql中实现数据备份? - PHPchina
大家看看这个配置对吗 - PHPchina
如何禁止require当前文件 - PHPchina
无法将回调函数放在类中? - PHPchina
村里 PHP代码高亮是怎么实现的? - PHPchina
apache安装后.服务里没有apache2这个服务! - PHPchina
请教一个小问题 - PHPchina
config.php里面是不是应该把多数参数设置为常量而不是变量? - PHPchina
请教高手一个问题 - PHPchina
如何让百度收录我的网站 ?? - PHPchina
谁能给个注入的简单语句? - PHPchina
求PHP站内搜索思路 - PHPchina

浅谈PHP语法(6)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 52 ::
收藏到网摘: n/a

上文(《谈谈PHP语法(3)》的最后提到了Cookie和Session,本文就这两种技术作一些介绍。
  Cookie我们都常把它念成“库记”,也叫它“小甜点”。它是一种存储在客户浏览器中的一个小文件。它是为解决HTTP的一次连接而无?记忆而发展起来的,可用来追踪使用者或是对重返的使用者进行确认。PHP对此提供了setcookie()函数,可以设定Cookie。因为Cookies算是HTTP标头的一部分。所以,setcookie()函数必须在网页数据传给浏览器之前调用。这同调用header()函数是一样的。
Cookie必须由主机端提供;所以,我们必须在CGI程序中送出一个设定了cookie的标头。

 

如下是PHP中调用setcookie()函数设定cookie的例子: <?php
setcookie("user","wind",time()+3600,"/php/","http://www.oso.com.cn");
?>

 

 

 

 其中,user为该cookie的名称;wind为该cookie的值;time()+3600为该cookie的有效时间;/php/为该cookie的相关路径;http://www.?oso.com.cn为该cookie的网站。
  其实,我们除了使用这种方式设定cookie外,还可使用header()函数如:header("Set-Cookie:user=wind"),不过这要对HTTP的头部信?息有所了解才行,所以笔者不建议使用这种方式,还是使用setcookie()方便些。
  读取cookie时,浏览器在连接某个网站时,会自动先检查是否有该站的cookie,有的话将会自动传给服务器,而在PHP中,会将传回的co?okie作为一个变量。如上面所设的cookie返回后,会形成一个$user变量,其值为wind。
  但是,cookie有个致命的缺点,就是若客户关了cookie接收,无法向客户端存放cookie时,一切操作就会出错。因此,在PHP4中提供了S?ession来代替Cookie。
Session与Cookie的最大区别在于Cookie将信息存于客户端,而Session则是存于服务器端。其实,Session是对PHP脚本提供了一个全局?变量。例子如下:
设置一个Session,名为user,值为wind

<?php
session_start();
$user="wind";
session_register("user");
?>

读Session,显示结果为“欢迎你!wind”
?br> <?php
session_start();
echo "欢迎你!$user";
?>