Mam kod statystyk ale nie wiem czy mnie nie oszukują bo czasem dziwne wyniki mam.
Proszę o sprawdzenie
<?php
/*(c) Lukasz Ogan, 2008 : All Rights Reserved */
'Alexa' => 'ia_archiver',
'Ask Jeeves' => 'ask jeeves',
'Teoma' => 'teoma',
'Baidu Spider' => 'baiduspider',
'cURL' => 'curl',
'GameSpy' => 'gamespyhttp',
'Googlebot-Image' => 'googlebot-image',
'Gigabot' => 'gigabot',
'Googlebot' => 'googlebot',
'Grub' => 'grub',
'Inktomi Slurp' => 'slurp',
'msnbot' => 'msnbot',
'AltaVista' => 'scooter',
'Yahoo!' => 'yahoo!',
'Lycos' => 'lycos',
'Whatuseek' => 'whatuseek',
);
foreach($Bots as $bot => $designation)
{
if(eregi($designation, $_SERVER['HTTP_USER_AGENT'])) $b0t = $b0t . 1;
}
if($b0t=='' or $bot=='0')
{
$ostatni = mktime (0
,0
,0
,$miech,0
,$rok);
$online = time()-(60
*TIMEOUT
);
$m = time()-(24
*$miesiac*3600
); $dzis = time()-(24
*3600
); $ip = $_SERVER['REMOTE_ADDR'];
$zapyt = "INSERT INTO licznik(ip,data) VALUES('$ip','$czas')"; //dodajemy ip + czas
if(!$sql) { die ('błąd'); } $zapyt = "UPDATE licznik2 SET odslon=odslon+1"; //powiększamy liczbę odsłon
$zapyt = "SELECT ip FROM licznik WHERE ip='$ip'AND data>'$dzis'";
if($num==1){ //licznik unikalnych + kasowanie starych
$zapyt = "UPDATE licznik2 SET wizyt=wizyt+1";
$roznica = time()-(48
*3600
); //usuwamy dane starsze niż 48 godzin $zapyt = "DELETE FROM licznik WHERE data<'$roznica'";
}
//wyswietlamy co trzeba
$zapyt = "SELECT wizyt,odslon FROM licznik2";
foreach($row as $linia){
$licznik[] = $linia;
}
$zapyt = "SELECT count(DISTINCT ip)
FROM licznik WHERE data>$dzis";
$licznik[2] = $row['count(DISTINCT ip)'];
$zapyt = "SELECT count(DISTINCT ip)
FROM licznik WHERE data<$dzis";
$licznik[3] = $row['count(DISTINCT ip)'];
$zapyt = "SELECT count(DISTINCT ip)
FROM licznik WHERE data>$online";
$licznik[4] = $row['count(DISTINCT ip)'];
$zapyt = "SELECT count(DISTINCT ip)
FROM licznik WHERE data>$m";
$licznik[5] = $row['count(DISTINCT ip)'];
print '<table class="font" border="0" cellpadding="0" width="" cellspacing="0" bordercolor="#9CACAD" ><tr><td><font size="2"> Wizyt: '.$licznik[0].'</br>
Wszytkich odsłon: '.$licznik[1].'</br>
Dziś: '.$licznik[2].'</br>
Wczoraj: '.$licznik[3].'</br>
Online: '.$licznik[4].'</br>
Ten miesiąc: '.$licznik[5].'</font></br></td></tr></table>
';
}
//----------------------zalogowani--------------------------
?>
<hr size="1px" color="#dadada"><font size="2">Lista użytkowników<br /> aktywnych przez ostatnie<br> 20 minut:</font><br>
<?
$ostatnio_online = time(); $sql = "SELECT * FROM uzytkownik WHERE user = '".$_SESSION['prawid_uzyt']."'";
$postow = $row[postow];
$zapytaj = "SELECT * FROM kto_online WHERE ip = '".$_SERVER['REMOTE_ADDR']."' AND nick = '".$_SESSION['prawid_uzyt']."'";
$zapytanie = "SELECT * FROM uzytkownik where user = '".$_SESSION['prawid_uzyt']."'";
$numer_usera = $row[id];
if ($_SESSION['prawid_uzyt'])
{
if($ile<1)
{
$zapytaj1 = "INSERT INTO kto_online (nick,
ostatnio_online, ip, numer, postow) VALUES ('".$_SESSION['prawid_uzyt']."',
'".$ostatnio_online."', '".$_SERVER['REMOTE_ADDR']."', '".$numer_usera."', '".$postow."')";
}
elseif($ile>=1)
{
$zapytaj2 = "UPDATE kto_online SET nick = '".$_SESSION['prawid_uzyt']."',
onlineid = '".$onlineid."', ostatnio_online = '".$ostatnio_online."',
ip = '".$_SERVER['REMOTE_ADDR']."', numer = '".$numer_usera."',
postow = '".$postow."' WHERE onlineid = '".$onlineid."'";
}
}
$aktywnosc = time()-(60
*TIMEOUT
); $wywal_nieaktywnego = "DELETE FROM kto_online WHERE ostatnio_online < $aktywnosc";
$zapytaj_o_online = "SELECT * FROM kto_online ORDER by ostatnio_online ASC";
echo "<br><font color=#FF9999 size=1>Brak zalogowanych uzytkowników.\n</font>";
}
else
{
{
$ile_postow = $row[postow];
if($ile_postow < 20)
{
$color="brown";
}
if($ile_postow >= 20)
{
$color="red";
}
if($ile_postow >= 40)
{
$color="red";
}
echo "<a href='?kto=pokaz&id=$row[numer]' style='text-decoration: none' alt='Zobacz profil'>"; echo "<font color=$color size=2px>"; if(1
<mysql_num_rows
($query5)) { echo ', '; } }
}
?>
i SQL
CREATE TABLE IF NOT EXISTS `licznik` (
`ip` char(20) NOT NULL,
`data` char(20) NOT NULL,
`id` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=658 ;
CREATE TABLE IF NOT EXISTS `licznik2` (
`odslon` char(5) NOT NULL,
`wizyt` char(5) NOT NULL,
`id` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=2 ;
czyste są? brak żadnych pomyłek?
Ten post edytował Lejto 18.05.2008, 15:22:32