- 主题:有请atppp出来
在wForum/inc/board.inc.php和www2-board.php中,有
本版当前共有<b><?php $boardArr['CURRENTUSERS']+1; ?></b>人在线
其中$boardArr['CURRENTUSERS']的值在第一次进版时是对的,之后如果刷新或者在版内做其他事情回到版面时,$boardArr['CURRENTUSERS']的值就会加1,此时的值就不对了,比正确的值多1。
我查到在bbs2www/phplib/phpbbs.board.c中,CURRENTUSERS有关的代码是atapp加的,不知道水木社区的相关部分是怎么算对的。
请atapp指点!
--
修改:jacquet FROM 60.191.126.*
FROM 60.191.126.*
水木没有wForum吧
【 在 jacquet (雅凯) 的大作中提到: 】
: 在wForum/inc/board.inc.php和www2-board.php中,有
: 本版当前共有<b><?php $boardArr['CURRENTUSERS']+1; ?></b>人在线
: 其中$boardArr['CURRENTUSERS']的值在第一次进版时是对的,之后如果刷新或者在版内做其他事情回到版面时,$boardArr['CURRENTUSERS']的值就会加1,此时的值就不对了,比正确的值多1。
: ...................
--
FROM 221.192.237.*
水木下的webbbs的在线统计实现与wForum类似的。
错误貌似是这样的:
当你刚进入一个版面时,此时该版的$boardArr['CURRENTUSERS']还未自动加1,为了第一次能正确统计,代码里简单地作了+1的处理,这样,你第一次进入版面时统计是正确了。但之后,你在版面作了其他如刷新的动作时,此时该版的$boardArr['CURRENTUSERS']已经由系统加了1了,但是代码里仍然还要加1,因此出现了之后在线人数总比正确人数多1的错误。改正的方法貌似需要判断是否第一次进入版面,如果是,那么使用echo $boardArr['CURRENTUSERS']+1,否则echo $boardArr['CURRENTUSERS']即可。请各位大侠指点一二,感激不尽!!!
【 在 foxban (未毕业的码农) 的大作中提到: 】
: 水木没有wForum吧
--
修改:jacquet FROM 60.191.126.*
FROM 60.191.126.*