<?php
  $timeout = 3;//W sekundach
  
  function visitsCount($timeout){
    try{
      $db = new SQLite3("/var/wwwdata/wizyty.db", SQLITE3_OPEN_READWRITE);
    }
    catch(Exception $e){
      echo "Wystąpił błąd podczas otwierania połączenia z bazą...<br>";
      echo "Systemowy komunikat błędu: ";
      echo $e->getMessage();
      return false;
    }

    $time = time();
    $query = "INSERT INTO czas_wizyt (czas) VALUES($time)";
    
    if(!$db->exec($query)){
      $db = null;
      //echo 'Błąd podczas wykonywania instrukcji INSERT. <br>';
      return false;
    }

    $val = $time - $timeout;
    $query = "DELETE FROM czas_wizyt WHERE czas < $val";

    if(!$db->exec($query)){
      $db = null;
      //echo 'Błąd podczas wykonywania instrukcji DELETE. <br>';
      return false;
    }

    $query = "SELECT COUNT(*) FROM czas_wizyt";

    if(!$result = $db->query($query)){
      $db = null;
      //echo 'Błąd podczas wykonywania instrukcji SELECT. <br>';
      return false;
    }

    if($row = $result->fetchArray(SQLITE3_NUM)){
      $counter = $row[0];
    }
    else{
      $db = null;
      //echo "Błąd w danych";
      return false;
    }

    $db = null;
    return $counter;
  }
?>
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Moja strona WWW</title>
  </head>
  <body>
    <p>
    <?php
      if(($ile = visitsCount($timeout)) !== false){
        echo "Liczba osób obecnych na stronie w ciągu ostatnich ";
        echo "$timeout sekund: $ile.";
      }
      else{
        echo "Licznik ostatnich wizyt nie jest dostępny.";
      }
      ?>
    </p>
  </body>
</html>
