$String = $_COOKIE["key"].",".$keyword; 
 setcookie("key",$String); 
问题出在这块.
你每次都在原来的基础上,再加上一个$keyword,所以每次都要重新写一次.比如说xxx.php?keyword=test
这样你每刷新一次页面就会在cookie里加上,test,重复多少次,就加多少个.

解决方案 »

  1.   

    不知道你最终想要实现的功能是啥.
    怎么解决.
    else 

    $String = $_COOKIE["key"].",".$keyword; 
    setcookie("key",$String); 

    去掉这部分就不会写了.
      

  2.   

    $keyword = urlEncode($_GET['keyword']);if(empty($_COOKIE["key"]))
    {
    setcookie("key[]", $keyword);
    }else
    {
    if(!in_array($keyword,$_COOKIE["key"])){
    setcookie("key[]",$keyword);
    }
    }$ListCooke = $_COOKIE["key"];echo count($ListCooke);
    echo "";print_r($ListCooke);
    用数组来保存吧
      

  3.   

    我想把每次搜索的关键词写入cookie保存成数组然后在网页中显示出来最近搜索的关键词
      

  4.   


    if(isset($_GET['keyword']))
    {
    $keyword = urlEncode($_GET['keyword']); 
    if(isset($_COOKIE['key']))
    {
    if(get_magic_quotes_gpc())
    {
    $strCookie = stripslashes($_COOKIE['key']);
    }
    $arrCookie = unserialize($strCookie);
    if(!in_array($keyword, $arrCookie))
    {
    $arrCookie[] = $keyword;
    setCookie('key', serialize($arrCookie));
    }
    }
    else

    $arrCookie[0] = $keyword;
      setCookie("key", serialize($arrCookie));
    }
    }
    if(get_magic_quotes_gpc())
    {
    $strCookie = stripslashes($_COOKIE['key']);
    }
    print_r(unserialize($strCookie));结帖吧,呵呵!代码经过测试!
      

  5.   


    Warning: in_array() [function.in-array]: Wrong datatype for second argument in E:\APM_Setup\htdocs\meta_sh\savecookie.php on line 12Warning: Cannot modify header information - headers already sent by (output started at E:\APM_Setup\htdocs\meta_sh\savecookie.php:12) in E:\APM_Setup\htdocs\meta_sh\savecookie.php on line 15
    好像还是有点问题?我这里为什么总提示上面两个错误?
      

  6.   

    $keyword = urlEncode($_GET['keyword']);if(empty($_COOKIE["key"]))
    {
    setcookie("key[0]", $keyword);
    }else
    {
        if(!in_array($keyword,$_COOKIE["key"])){
          setcookie("key[".count($_COOKIE["key"])."]",$keyword);    
        }
    }$ListCooke = $_COOKIE["key"];echo count($ListCooke);
    echo "";print_r($ListCooke);