PHP如何读取COOKIES

  查看浏览器的Cookies
  让我们来看看保存在浏览器中的内容。如果你用的是IE5,在windows目录下有一个cookies的目录,里面有很多文本文件,文件名都是类似于wudong 15seconds[1].txt这样的,这就是浏览器用来保存cookies值的。在以前的IE版本中,cookies的内容是可以察看的,但是现在内容已经被编码了。在浏览器之前得到一个Web页面,它会先看这个页面的域名,是否在cookie中存在,如果有比较配的,浏览器会先把匹配的cookie传送到服务器,然后才接受处理服务器传送过来的页面。先举个cookie
  应用的例子:当我连接到Amazon.com时,浏览器在接受第一个页面之前把它之前设置的cookies的内容传送给Amazon。然后Amazon.com对传送过来的内容进行检查,看看在数据库中其中没有相关资料,在配合之后,在为我建立一个定制的页面传送到过来。
  ========================
  cookies赋值
  必须在服务器上在为Cookies属性之前传送任何内容给客户浏览器。要做到这一点,cookies的设置就必须放在<HEAD>标签内:
  <?php
  setcookie("CookieID",$USERID);
  ?>
  <HTML>
  <BODY>
  </BODY>
  </HTML>
  setcookie函数共有六个参数,用逗号来分隔:
  cookie的名称,是一个字符串,例如:"CookieID"。其间不允许有冒号,逗号和空格。这个参数是必须的,而其他的所有参数都是可选的。如果只有这一个参数被给出,那么这个cookie将被删除。cookie
  的值,通常是一个字符串标记,例如:$USERID。也可以为它赋一个??来略过值的设置。
  cookie失效的时间。如果被按下(或者被赋值为零),cookie将在这个对话期(session)结束后失效。这个参数可以是一个绝对的时间,用DD-Mon-YY HH:MM:SS来表示,比如:"24-Nov-99 08:26:00"。而更常用的是设置一个相对时间。这是通过time()函数或者mktime函数来实现的。比如time()+3600将使得cookie在一个小时后失效。
  一个路径,用来匹配cookie的。当在一个服务器上有多个同名的cookie的设置,为避免混乱,就要用到这个参数了。使用"/"路径的和简洁这个参数的效果是一样的。要注意的是Netscape的cookie定义是把域名放在路径的前面的,而PHP则正好相反。
  服务器的域名,也是用来匹配cookie的。要注意的是:在服务器的域名前必须放上一个点(.)。例如:".friendshipcenter.com"。因为除非有两个以上的点存在,否者这个参数是不能被接受的。
  cookie的安全级别,是一个整数。1表示这个cookie只能通过“安全”0或省略则表示任何类型的网络都可以。
  =======
  Cookie和变量
  当PHP脚本从客户端浏览器提取了一个cookie后,会自动的把它转换成一个变量。例如:一个名为CookieID的cookie将变成变量$CookieID。
  Cookies的内容被报存在HTTP_COOKIE_VARS缓存中,你还可以通过这个缓存和cookie的名称来访问指定的cookie值:
  print$HTTP_COOKIE_VARS[CookieID];
  ==============
  记住每个用户
  都过头来看看上面的submitform.php3文件,它的作用是将客户的姓名添加到数据库中,现在我想为它添加一些东西。我想为每个用户都分配一个唯一的用户标志,然后把这个标志放在Cookies中,这样每当用户访问我的网站的时候,通过cookie和其中的用户标志,我就能够
  MySQL能够被设置成为每一个新的记录自动的分配一个数字,这个数字从1开始,以后每次自动加1。用一行SQL语句可以,你就轻松的为数据表添加这样的一个字段,我把它称为USERID:
  ALTER TABLE dbname
  ADD COLUMN
  USERID INT(11)NOT NULL
  PRIMARY KEY AUTO_INCRMENT;
  对这个字段我们做了一些特殊的设置。首先,通过“INT(11)”定义它的类型为11位的整数;然后用“NOT NULL”关键字让该字段的值不能为NULL;再用“PRIMARY KEY”把它设置为索引字段,这样搜索起来就会更快;最后,“AUTO_INCRMENT”定义为自动增一的字段。
  当把用户的姓名插入到数据库后,就应该在他们的浏览器上设置cookie了。接下来利用的就是刚才我们说到的USERID字段的值:
  <?php
  mysql_connect(localhost,用户名密码);
  mysql_select_db(数据库名);
  mysql_query("INSERT INTO表名(名字,姓氏)VALUES("$名字","$姓氏")");
  setcookie("CookieID",
  “/”);/*三年后cookie才会失效*/
  ?>
  PHP函数mysql_insert_id()返回在最后一次执行了INSERT查询后,由AUTO_INCRMENT定义的字段的值。这样,只要你不清除浏览器的Cookies,网站就可以永远“记住”你了
  ==================
  读取cookie
  来我们写一个像Amazon.com那样的脚本。首先,PHP脚本会先检查客户浏览器是否发送了cookie过来,如果是这样的话,用户的姓名就会被显示出来。如果没有找到cookie的话,就显示一个表单,让客户登记他们的姓名,然后把他添加到数据库中,并在客户端浏览其中设置好cookie。
  首先,先来显示cookie的内容:
  <?php
  print$CookieID;
  ?>
  然后,就可以把名字显示出来了:
  <?php
  mysql_connect(localhost,username,password);
  mysql_select_db(数据库名);
  $selectresult=mysql_query("SELECT*FROM表名WHERE USERID="$CookieID"");
  $row=mysql_fetch_array($selectresult);
  echo"欢迎你的光临",$row[first_name],"!";
  ?>
  就是这样的了。我在其中没有作判断,排列你自己来完成好了。