2010-04-22 28 views
1

的网页浏览量双重递增我有一些基本的网页浏览递增代码建立一个LAMP服务器(请参阅下面的代码)。PHP会话:在Firefox3的和Chrome4浏览

代码启动一个会话,如果检查浏览量被设置,它递增如果不是,并打印该变量。该页面通过单个href链接到自身,然后单击该链接会使屏幕上显示的浏览量计数增加1。它在IE8,Safari4和Opera10中正常工作。但是在Firefox3和Chrome4中,每次点击链接时都会增加2。我正在使用Chrome和Firefox的全新安装,并且我也在Firefox安全模式下尝试了这一点。

奇怪的是,我有相同的代码在同一服务器上的其他活动站点工作正常。

这可能更多的是浏览器的问题不是一个PHP的问题:-)

预先感谢您的帮助!

<? 
// start session 
session_start(); 

// increment page views 
if (isset($_SESSION['pageviews'])) { 
$_SESSION['pageviews'] ++; 
} 

// if new session, set page views at 1 and capture source URL 
else { 
$_SESSION['pageviews'] = 1; 
$_SESSION['sourceurl'] = $_SERVER['HTTP_REFERER']; 
} 

// capture user ip address 
$ipaddress = $_SERVER['REMOTE_ADDR']; 
?> 
+2

你应该看你的Web服务器的访问日志,而测试这个。这可能会更清楚地看到究竟是要求什么,或回来。 另外,火狐,检查出的HttpFox插件,看看浏览器究竟是如何发出请求,什么反应都。 – 2010-04-22 15:44:42

+0

好主意。我刚刚开始使用Web开发(可能很明显)。上校弹片解决了这个特定的问题,但我想我会做你的好意提出什么学习的东西的缘故。谢谢! – Adam 2010-04-22 15:53:23

回答

1

最常见的原因是不正确的人类可读的网址实现,当路由器作为一个404处理器,因此,不存在的favicon.ico会再拍请求;)

+0

谢谢,上校 - 你钉了它!我添加了一个favicon,它现在可以在两个浏览器中正常工作。但是你的回答有点凌驾于我的头上。你是说我的Apache服务器不正确地处理URL或浏览器是? – Adam 2010-04-22 15:50:33

+0

@Adam你的index.php应该区分请求和服务只有预期的。说它应该只计算/请求,而不是别的。所有请求模式必须预先写入您的脚本中 如果没有匹配,则不得使用阳离子,而必须抛出404错误 – 2010-04-23 04:35:50