0

我想知道是否有人可以帮助阐明这一点:

如果用户使用查询字符串中的特定键/值到达站点,我会删除 cookie。即:http ://www.somesite.com?key=hmm01

cookie 代码存在于模板的顶部 before <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML )

<?php header("Content-Type: text/html; charset=utf-8"); ob_start(); if (isset($_GET['key'])) { setcookie("cookname", $_GET['key'], time()+2592000); /* Expires in a month */ } ob_end_flush(); ?>

虽然在同一页面上:我有以下 php 代码嗅探 cookie 并输出一些文本:

`

switch ($cookievalue) { case hmm01: echo "abc"; 休息; 案例 hmm02:回声“def”;休息; 案例 hmm03:回声“ghi”;休息; 默认:回声“你好”;} ?>`

-- 问题是当用户第一次到达时,嗅探器脚本没有检测到 cookie 并输出默认文本: hello 只有当用户刷新页面或导航到不同的页面时,嗅探器才会检测到 cookie。

关于如何在不刷新页面的情况下删除 cookie 并输出正确文本的任何想法?

非常感谢。

4

2 回答 2

1

只需第一次检查 $_GET :

if(isset($_GET['key'])) { $cookievalue = $_GET['key']; }
if(isset($_COOKIE['cookname'])) { $cookievalue = $_COOKIE['cookname']; }

switch ($cookievalue) { case hmm01: echo "abc"; break; case hmm02: echo "def"; break; case hmm03: echo "ghi"; break; default: echo "hello"; } ?>
于 2010-03-24T19:38:29.807 回答
0

if (查询字符串中的特定键/值) $_COOKIE['cookname'] = "some value";

并学习一些 HTTP

于 2010-03-24T19:38:30.993 回答