今天遇到一个很奇怪的问题cookie问题下面是简单的代码:testcookie.html:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
 </HEAD> <BODY>
  <form action="cookie.php">
名字:<input type="text" name="name" value=""/>
<input type="submit" name="" value="提交"/>
</form>
 </BODY>
</HTML>下面是cookie.php 代码:<?php 
$name = $_REQUEST['name'];
setcookie("name",$name);
echo 'My uid is (<font style="color:red;">'.$_COOKIE['name'].'</font>)';
?>我运行testcookie.html文件之后开始的时候输入123456开始是没有值的刷新页面之后就出现123456但是我在返回到testcookie.html中的时候输入不同的值提交之后页面出现的还是123456 这个cookie机制到底是怎么回事呢?

解决方案 »

  1.   

    当前页面存储的cookie不能在当前页面显示,不信你清除cookie之后,然后再提交一次看,会发现没有值
    另开一个页面读取cookie却是有的
      

  2.   

    问题就出在 $_REQUEST['name']上,cookie和session也是属于 $_REQUEST的,所以cookie的值覆盖了form的值你用$_GET['name'],默认get
      

  3.   

    对不起,session是在服务器上的,不需要请求,应该是GET,POST,COOKIE都是属于request的,所以你要用对应的去取name你用get就用$_GET
    你用post就用$_POST