[译文]Using Cookies with PHP

英:Cookies allow the webmaster to store information about the site visitor on their computer to be accessed again the next time they visit. One common use of cookies is to store your username and password on your computer so you don’t need to login again each time you visit a website. Cookies can also store other things such as your name, last visit, shopping cart contents, etc.

译:Cookies 使得网站管理员能够将站点来访者的信息储存在客户端机子上,以便下次来访可以直接获取。一个很常见的用法就是将用户名和密码储存在客户端机子上,使得用户不必每次来访都要重新登录。Cookies同时也能够存储其它信息如姓名、上次访问信息以及购物车里的内容,等等。

英:The main difference between a cookie and a session is that a cookie is stored on your computer, and a session is not. Although cookies have been around for many years and most people do have them enabled, there are some who do not. Cookies can also be removed by the user at any time, so don’t use them to store anything too important.

译:cookie和session之间最大的不同之处是cookie存储在客户端机子上,而session不是。尽管cookies已经存在很多年而且大多数的人们都是开启cookie,但是还是有一些人没有。用户可以在任意时刻删除掉本机的cookies,所以不应该用cookies来存储重要信息。

英:A cookie is set with the following code: setcookie(name, value, expiration)

译:cookie 是通过如下语法设置的: setcookie(name, value, expiration)

英:
<?php $Month = 2592000 + time(); //this adds 30 days to the current time setcookie(AboutVisit, date("F jS - g:i a"), $Month); ?>

The above code sets a cookie in the visitor’s browser called “AboutVisit”. The cookie sets the value to the current date, and set’s the expiration to be be in 30 days (2592000 = 60 seconds * 60 mins * 24 hours * 30 days.)

译:如上代码在来访者的浏览器中设置了一个名为“AboutVisit”的cookie。该cookies以当前时间为值,并且设置30天后过期。

英:Now let’s retrieve the cookie.
<?php if(isset($_COOKIE['AboutVisit'])) { $last = $_COOKIE['AboutVisit']; echo "Welcome back! <br> You last visited on ". $last; } else { echo "Welcome to our site!"; } ?>

This code first checks if the cookie exists. If it does, it welcomes the user back and tells them when they last visited. If they are new, it skips this and prints a generic welcome message.

译:现在让我们来取回cookie。

这段代码首先检查该cookie是否存在。如果存在,它输出欢迎消息的同时,输出上次来访者的访问时间。如果cookie是新的,它会跳过 if 段的代码并且输出通用的欢迎消息。

英:

TIP: If you are calling a cookie(原文此处有误) on the same page you plan to set one - be sure you retrieve it first, before you overwrite it!

To destroy the cookie, simply use setcookie again, only set the expiration date to be in the past. This is often done when you ‘logout’ of a site. Here is an example:
<?php $past = time() - 10; //this makes the time 10 seconds ago setcookie(AboutVisit, date("F jS - g:i a"), $past); ?>

REMEMBER:Cookies need to be set in the header. This means they must be sent before any HTML is set to the page, or they will not work.

译:

提示:如果要在同一个页面重新设置一个cookie,记得先取回该cookies再覆盖它。

如果要撤销一个cookie,只需很简单地再次利用setcookie,只要将expiration的值即过期值设置在过去的时间里。这在网站登出的功能中很常见。以下是示例。

请记住:cookies必须在header里头设置。这意味着cookies必须在HMTL之前发送,否则它们不会工作。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值