Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29316530
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类:

2009-04-22 11:45:41

cookie 常用于识别用户。

什么是 Cookie?

cookie 常用于识别用户。cookie 是服务器留在用户计算机中的小文件。每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie。通过 PHP,您能够创建并取回 cookie 的值。

如何创建 cookie?

setcookie() 函数用于设置 cookie。

注释:setcookie() 函数必须位于 标签之前。

语法

setcookie(name, value, expire, path, domain);

例子

在下面的例子中,我们将创建名为 "user" 的 cookie,把为它赋值 "Alex Porter"。我们也规定了此 cookie 在一小时后过期:

setcookie("user", "Alex Porter", time()+3600);
?>





注释:在发送 cookie 时,cookie 的值会自动进行 URL 编码,在取回时进行自动解码(为防止 URL 编码,请使用 setrawcookie() 取而代之)。

如何取回 Cookie 的值?

PHP 的 $_COOKIE 变量用于取回 cookie 的值。

在下面的例子中,我们取回了名为 "user" 的 cookie 的值,并把它显示在了页面上:

// Print a cookie
echo $_COOKIE["user"];

// A way to view all cookies
print_r($_COOKIE);
?>

在下面的例子中,我们使用 isset() 函数来确认是否已设置了 cookie:




if (isset($_COOKIE["user"]))
echo "Welcome " . $_COOKIE["user"] . "!
";
else
echo "Welcome guest!
";
?>


如何删除 cookie?

当删除 cookie 时,您应当使过期日期变更为过去的时间点。

删除的例子:

// set the expiration date to one hour ago
setcookie("user", "", time()-3600);
?>

如果浏览器不支持 cookie 该怎么办?

如果您的应用程序涉及不支持 cookie 的浏览器,您就不得不采取其他方法在应用程序中从一张页面向另一张页面传递信息。一种方式是从表单传递数据(有关表单和用户输入的内容,稍早前我们已经在本教程中介绍过了)。

下面的表单在用户单击提交按钮时向 "welcome.php" 提交了用户输入:





Name:
Age:




取回 "welcome.php" 中的值,就像这样:




Welcome .

You are years old.


阅读(1056) | 评论(5) | 转发(0) |
0

上一篇:PHP实现登录

下一篇:PHP中SESSION函数

给主人留下些什么吧!~~

chinaunix网友2009-06-17 11:31:37

setcookie("mylongsea","hkebao",0,"/",""); //将其过期时间设置为0 这样写是可以的。如果你这样写 setcookie("mylongsea","hkebao",time()+0,"/",""); //将其过期时间设置为0 就会有问题了!

chinaunix网友2009-06-17 09:00:04

假如说我在一个test.php页面中这样写代码: setcookie("mylongsea","hkebao",0,"/",""); //将其过期时间设置为0 echo(isset($_COOKIE['mylongsea'])?$_COOKIE['mylongsea']:''); 如果运行这个页面的话第一次打开不会有cookie出来。当用户刷新页面之后就会将COOKIE显示出来的! 理解:用户第一次浏览此页面的时候服务器生成了cookie值然后返回过来 当用户第二次请求服务器(用户刷新)便可以将COOKIE带过去。这样才能显示出来的!但是为什么我将显示COOKIE的代码放在另一个PHP文件中又不会打印出来呢?

liuxingyuyuni2009-05-01 00:37:01

加油,多总结,但不要停留在这些理论东西上,多写一些程序,才会对这些理解理深刻,一起学习,共同进步

hkebao2009-04-22 20:06:57

谢谢。

chinaunix网友2009-04-22 16:23:49

祝你三年之后梦想成真!!!