按Enter键后刷新PHP Get方法

时间:2012-02-12 02:08:18

标签: php html forms

我有一个网站通过“GET”方法获取某些数据,在脚本中解析它并根据它在数据库中找到的结果回显一些数字。

所以http://XXX.XX.XXX/data.php?Numbers=1 2 3 4 5 6 7 8 9 10 11 12

显示:6563

现在,当我更改其中一个数字或直接在网址中发送到网站的所有数字时,它应该更改回显的值,但这只会在我点击刷新(CTRL-R)时发生,而不是在我打进去。当我点击进入又名刷新而不必实际刷新时,我需要它发生

http://XXX.XX.XXX/data.php?Numbers=10 20 30 40 50 60 70 80 90 100 110 120

显示:6563何时显示其他内容

如果有人知道这个问题或者可以采取什么措施来解决这个问题,我们将不胜感激。

谢谢!

3 个答案:

答案 0 :(得分:1)

首先,您的网址中不应包含空格。请查看urlencodedocsurldecodedocs

您的特定问题(没有看到任何代码)似乎是您的浏览器缓存页面结果的结果。 CTRL + R告诉浏览器“我不关心你缓存了什么,给我一个新副本”。

要绕过不需要的浏览器缓存,您可以尝试使用header函数之前您的脚本将任何输出发送到浏览器(如果您不这样做,您将收到有关错误消息的信息)标头已被发送)告诉客户端不要缓存页面:

header('Cache-Control: no-cache');
header('Pragma: no-cache');

浏览器是否遵守您的命令完全取决于浏览器的判断(尽管应该如此)。

答案 1 :(得分:0)

您是否对网址进行编码/解码?看来你不是那样做的。检查一下:http://php.net/manual/es/function.urlencode.php

答案 2 :(得分:0)

我最好的猜测是您的浏览器正在缓存该页面,并且只有在您按下刷新时才会重新下载它。

尝试将此添加到您的脚本中(在任何输出之前):

header("Cache-Control: no-cache, must-revalidate");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");