英: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.
英: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.
英:
<?php$Month = 2592000 + time();//this adds 30 days to the current timesetcookie(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.)
英:Now let’s retrieve the cookie.
<?phpif(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 agosetcookie(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.