感谢StackOverFlow,我以为我已经回答了这个问题,但是我匆匆接受了答案,结果证明这不是我问题的真正原因.
我检查了我的Apache Access日志:
这是我在Google Chrome浏览器上浏览我的网络应用程序.
127.0.0.1 - - [06/Jan/2010:22:17:35 +0000] "GET /webs/end/new.php HTTP/1.1" 200 2146 127.0.0.1 - - [06/Jan/2010:22:17:36 +0000] "GET /webs/end/settings.php HTTP/1.1" 200 4548 127.0.0.1 - - [06/Jan/2010:22:17:38 +0000] "GET /webs/end/index.php HTTP/1.1" 200 2042
这是我在IE7上浏览我的网络应用程序.
127.0.0.1 - - [06/Jan/2010:22:21:49 +0000] "GET /webs/end/settings.php HTTP/1.1" 200 4548 127.0.0.1 - - [06/Jan/2010:22:21:50 +0000] "GET /webs/end/index.php HTTP/1.1" 200 2042
这是我在Firefox上浏览我的网络应用程序.
127.0.0.1 - - [06/Jan/2010:22:18:08 +0000] "GET /webs/end/settings.php HTTP/1.1" 200 4548 127.0.0.1 - - [06/Jan/2010:22:18:09 +0000] "GET /webs/end/settings.php HTTP/1.1" 200 4548 127.0.0.1 - - [06/Jan/2010:22:18:10 +0000] "GET /webs/end/index.php HTTP/1.1" 200 2042 127.0.0.1 - - [06/Jan/2010:22:18:10 +0000] "GET /webs/end/index.php HTTP/1.1" 200 2042 127.0.0.1 - - [06/Jan/2010:22:18:11 +0000] "GET /webs/end/new.php HTTP/1.1" 200 2146 127.0.0.1 - - [06/Jan/2010:22:18:12 +0000] "GET /webs/end/new.php HTTP/1.1" 200 2146
这只是我点击一下.但请注意,对于每个页面请求,firefox似乎都在加载页面两次并影响我的PHP脚本,因为它们正在执行两次并在我的数据库中进行两次插入!
为什么会这样?我使用的是Firefox 3.5.6.我猜这是一个Firefox问题而不是PHP/Apache问题?
您在Firefox中安装了哪些插件,他们可能会默默地发出请求,尤其是FireBug.尝试关闭萤火虫并查看它是否仍然存在.
正如下面的评论所述,最新版本的FireBug不应该这样做,所以如果不是这样,请尝试禁用所有插件(或在安全模式下运行FireFox)并查看它是否仍然发生
查看第二个请求中的Accept标头.它看起来是对图像的请求吗?如果是这样,您可能在"img"标记上有一个空的"src"属性,或者在导致第二个请求的CSS属性中有一个空的"url"定义.
更多信息:http://icanhascode.com/2008/06/the-mystery-of-the-multiple-requests/
一般来说,这个问题很难追查.
我有一天遇到同样的问题.提出了解决方案
代码更高.之前加载了一些css代码.