Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Problem ze skryptami online
#1
Znalazłem skrypty z licznikami online ale niestety żadne z nich nie działa prawidłowo. Pokazuje mi że na stronie jest obecnie 1 gość a na prawdę jest ich więcej.

online 1:
Kod:
<?
                 $plik = "online.txt"; # Adres pliku txt z hmod 666
                         $czas = 200; # CZAS ONLINE (zalecany 200sek.)
                                 $t = time();
                         $ip = $HTTP_SERVER_VARS['REMOTE_ADDR'];        
                 $u = explode("\n", str_replace("\r", "", @join("", @file($plik))));
                 foreach($u as $i => $v) {
                         $e = explode("|", $v);
                         if($e[0] == $ip || $e[1] < $t) unset($u[$i]);
                 }
                 $u[] = $ip . "|" . ($t + $czas);
                 $fp = fopen($plik, "w");
                         flock($fp, 2);
                                 fputs($fp, join("\n", $u));
                         flock($fp, 3);
                 fclose($fp);
                 echo 'Teraz gości OnLine,: '.count($u);
        ?>

online 2:
Kod:
<?php
$conn = mysql_connect("localhost", "user", "password");
mysql_select_db("baza", $conn);
// to było połączenie się z MySQL

function stats($mojeip)// argumentem jest tutaj IP, ale możesz zmienić na identyfikator sesji
{
  global $conn;
  global $count;
  // globalizacja zmiennych, aby ich wartość była dostępna w funkcji
  $teraz = time();
  // pobiera czas
  if ($count == 0) // sprawdza, czy ma wstawić nowy rekord do tabeli
  {
    $res = mysql_query("INSERT INTO temp VALUES ('$mojeip', '$teraz')", $conn);
    // wstawienie nowego rekordu
  }
  $res = mysql_query("UPDATE `temp` SET `czas` = '".$teraz."' WHERE `ip` = '".$mojeip."' LIMIT 1'", $conn);
  // a teraz uaktualnienie naszego rekordu
  $res = mysql_query("SELECT * FROM temp", $conn);
  // wybieramy wszystko z tabeli temp
  for ($i=0; $myrow=mysql_fetch_assoc($res); $i++)
  {
    $ip = $myrow['ip'];
    $czass= $myrow['czas'];

    if ($czass < ($teraz - 600))
    {
      $pyt=mysql_query("DELETE from temp where ip='$ip'", $conn);
      $i--;
    }
    /* W pętli sprawdziliśmy, czy czasy użytkowników są mniejsze niż 10 min (600 sek), jeśli nie to kasujemy go z tabeli */
  }
  if ($i==0)
  {
    $res = mysql_query("INSERT INTO temp VALUES ('$mojeip', '$teraz')", $conn);
    // jeśli ktoś nas skasował, to musimy się dodać, bo liczba userów nie może być równa 0!
    $i++;
  }
  return $i;
  // zwracamy wartość
}
?>
<?php
echo(stats($REMOTE_ADDR));
?>

Czy wie ktoś może co zrobić aby którykolwiek z nich działał prawidłowo?
A może macie jakiś pewny skrypt która działa dobrze?

Bardzo proszę o pomoc Big Grin
Odpowiedz


Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Online- sprawdzanie. polak1111 2 2,573 13-02-2013, 21:06
Ostatni post: polak1111
  Strony z ciekawymi skryptami i komponentami owenidas 4 3,091 28-11-2011, 02:37
Ostatni post: Bucky
  Połączenie strony z platnosci-online Nidils 4 3,624 28-04-2011, 15:43
Ostatni post: dziamber
  Składanie biżuterii online. Jak się za to zabrać? Michalo1994 5 3,769 12-08-2010, 21:15
Ostatni post: Kartofelek

Skocz do:


Użytkownicy przeglądający ten wątek:
Sponsorzy i przyjaciele
SeoHost.pl