0

[解决..飞行员错误]

这就是问题所在。我没有在 pageC 上传递变量

header('Location: pageC.php?screenname='.$screenname);

我将访问者发送到包含变量(屏幕名称)的页面,并根据该变量从数据库中提取附加信息。

IE。 domain.com/page1.php?screenname=karol

page1.php然后使用会话来存储变量

$_SESSION['screenname']=$_GET["screenname"];

当他们将此页面添加为书签并返回时,它只记住page1.php没有变量,当然也没有数据库中的任何内容。

我想设置一些东西来记住返回时的变量

什么方法最好?


是的..这里有更多

pageA.php 接收变量(屏幕名称)

domain.com/pageA.php?screenname=karol

(pageA.php 看起来像这样)

session_start();

$_SESSION['screenname']=$_GET["screenname"];

此页面根据 USER_AGENT 确定它是 Android、iPhone 还是标准浏览器

header('Location: pageB.php?screenname='.$screenname);

pageB.php(记录网站统计数据的命中 - 这需要在这里)

$_SESSION['screenname']=$_GET["screenname"];
header('Location: pageC.php?screenname='.$screenname);

pageC.php 是被添加书签的页面,其开头为:

session_start();
$screenname = $_SESSION['screenname'];
header('Location: pageC.php);

如果需要,我如何从 get 中获取变量并在重新访问时仍然保留它?

4

1 回答 1

0

您确定书签没有与查询字符串一起保存吗?我有很多书签,其中包含很长的变量和值列表作为查询字符串。例如,如果您为他们提供了 yourdomain.com/page1.php?screename=superstar,当他们为页面添加书签时,查询字符串也会自动保存。

我刚刚针对 Chrome 版本 25.0 对其进行了测试。书签保存查询字符串。Mozilla Firefox 18.0 也是如此(该死,这些天他们对版本号发疯了,不是吗?)。IE 9 也是(收藏夹)。我在这里错过了什么吗?

如果担心查询字符串可能会在书签中被修剪,Google 也会使用 # 和其他一些网站。顺便说一句,我们知道 # 是 HTML 中“书签”的真正 McCoy。Hashtagging 不仅在兴起,而且已经与 web 2.0 的其他模式一样成熟。您可能会考虑使用散列解析 url。JavaScript 位置对象有一个密钥哈希,可以原生支持解析它(让它变得轻而易举)。服务器端的 PHP 应该只是字符串操作或使用 url 相关函数的问题。

于 2013-03-05T23:22:14.147 回答