当前位置: 首页 > 图文教程 > 网络编程 > PHP > 简单学习动态网页制作PHP中的Cookies

PHP
PHP删除MYSQL数据库中所有表的代码
php教程:php设计模式介绍之注册模式
php教程:php设计模式介绍之伪对象模式
PHPnow轻松打造专业PHP服务器环境
php教程:php设计模式介绍之策略模式
php教程:php设计模式介绍之迭代器模式
Windows环境下Apache与Tomcat共存
简单学习php遇到的主要问题
php教程:php设计模式介绍之观测模式
php教程:php设计模式介绍之规范模式
php教程:php设计模式介绍之代理模式
php教程:php设计模式介绍之装饰器模式
Perl操作mysql数据库的方法
php教程:php设计模式介绍之适配器模式
PHP单件模式和命令链模式的基础知识
PHP大师指点:优秀的PHP代码怎么来?
PHP开发的Myers 订单跟踪系统 (MOTS)
PHP控制网页过期时间的程序
Cannot modify header information出错的原因
PHP 5.3的date_create_from_format()函数

简单学习动态网页制作PHP中的Cookies


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

Cookie通常用来验证或辨别一个用户。

Cookie是什么呢?

Cookie通常用来验证或辨别一个用户。Cookie是通过服务器发送到用户计算机中的一个小文件。每次,当相同的计算机通过浏览器请求一个页面时,原先存储的cookie也会发送到服务器。你可以使用PHP来创建和获取cookie的值。

怎样创建一个cookie呢?

Setcookie()函数是用来设置一个cookie的。

注意:setcookie()函数必须在<html>标签之前。

语法

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

案例

在下面这个例子中,我们将创建一个名为“user”的cookie并把“Alex Porter”这个值赋给它;同时,我们还规定cookie将在一小时后过期:

注意:当发送cookie时,cookie值是自动进行URL编码[URLencoded]的;当受到cookie时,自动进行URL解码。(如果你不希望进行URL编码,可以使用setrawcookie()函数替代)

如何获取cookie值?

PHP $_COOKIE变量是用来获取一个cookie值的

在下面这个例子中,我们获取了名为“user”的值并将它显示在页面上:

以下为引用的内容:
<?php// Print a cookieecho $_COOKIE["user"];// A way to view all cookies
print_r($_COOKIE);
?>

我们使用isset()函数来检查cookie是否被设置:

以下为引用的内容:
<html>
<body><?php
if (isset($_COOKIE["user"]))
  echo "Welcome " . $_COOKIE["user"] . "!<br />";
else
  echo "Welcome guest!<br />";
?></body>
</html>

如何删除一个cookie?

当你要删除一个cookie时,你必须确保cookie已经过期。

案例:

以下为引用的内容:
<?php
// set the expiration date to one hour agosetcookie("user", "", time()-3600);
?>

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

如果你的浏览器不支持cookie,你必须使用其他方法将一个页面的信息传输到另一页面中。其中一个方法就是使用表单(我们已经在先前的教程中提到过)。

下面这个案例:当用户点击“提交submit”按钮的时候,用户输入的信息被传输到“welcome.php”:

以下为引用的内容:
<html>
<body><form action="welcome.php" method="post">
Name: <input type="text" name="name" />
Age: <input type="text" name="age" />
<input type="submit" />
</form></body>
</html>

下面的案例指明了如何获取“welcome.php”文件中的值:

以下为引用的内容:

<html>
<body>Welcome <?php echo $_POST["name"]; ?>.<br />
You are <?php echo $_POST["age"]; ?> years old.</body>
</html>