Помогите написать счётчик php+MySQL

Печать RSS
382


2000 лет д.н.э.
0
А session_id() - ключ надежнее чем ип + арбуз.
Он не плавает в отличии от ип'а, но этому его предпочитаю.
Собственно сравнивал
фиксвап.нет 300, этот счетчик 310-350.
Достаточно точно.

ВЕЛИКИЙ и УЖАСНЫЙ!
0
5 да хотяб потому, что здесь по 2 раза в неделю такую тему создают.
Ж
Автор
Пацак
0
12, про хосты / хиты ни разу не видел!!!!!!!!!!!!!!!!!!
Ж
Автор
Пацак
0
ramzes, пасиб большое! Сегодня не хочю уже делать, а завтро с утра начну пробовать. Если чё отпишуsmile

Дух
0
Ггг. есть такая штука в браузере как Авто обновление страницы.
Здесь уже надо проверяять $_SERVER['HTTP_REFERER'];
если совпадает с текущей страницей или пустой ещё записать в сесию предыдущую страницу и сверять с рефером потом уже защитуем.

Дух
0
Можа сделать такую проверку.
<? $ref=preg_replace('/http:\/\/.*?\//si','/',$_SERVER['HTTP_REFERER'];
$uri=$_SERVER['REQUEST_URI'];
$ref2=$_SESSION['ref2'];
$_SESSION['ref2']=$uri;
if(!empty($ref) || !empty($ref2) || $ref==$ref2 || $uri!==$ref)
{Записуем}
Ж
Автор
Пацак
0
$update=mysql_query("UPDATE `online` 
	                SET `login`='".$user_login."', 
		                `sid`='".session_id()."',
	                    `ip`='".$_SERVER["REMOTE_ADDR"]."', 
	                    `agent`='".$_SERVER['HTTP_USER_AGENT']."', 
                        `self`='".$_SERVER['REQUEST_URI']."', 
                        `host`=`host`+1,
                        `time`='".time()."' WHERE `time` > ".(time()-300)." || `ip`='".$_SERVER["REMOTE_ADDR"]."'");
if(!$update) {  mysql_query("INSERT INTO `online` 
	                SET `login`='".$user_login."', 
		                `sid`='".session_id()."',
	                    `ip`='".$_SERVER["REMOTE_ADDR"]."', 
	                    `agent`='".$_SERVER['HTTP_USER_AGENT']."', 
                        `self`='".$_SERVER['REQUEST_URI']."', 
                        `host`=`host`+1,
                        `time`='".time()."'"); }
Ж
Автор
Пацак
0
чёта не работает sad

2000 лет д.н.э.
0
#17 это ты че такое изобразил? Обновляешь какую запись то? Чего добиться этим хочешь?))
WHERE session_id = '".session_id()."'
или по логину или по ип+арбуз.
#16 Жесть. Регулярки во все подряд пихать..
$rq = $_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];
if($_SESSION['request']!=$rq){
//ok update table online
$_SESSION['request'] == $rq;
}
Ж
Автор
Пацак
0
всё..разобрался...smile
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск