Sruu - forum webdeveloperów
Mod Licznik osób online - Wersja do druku

+- Sruu - forum webdeveloperów (http://forum.sruu.pl)
+-- Dział: Gotowe Rozwiązania (/f-gotowe-rozwiazania)
+--- Dział: TenTego Free (/f-tentego-free)
+---- Dział: Aplikacje i Modyfikacje (/f-aplikacje-i-modyfikacje)
+---- Wątek: Mod Licznik osób online (/t-modyfikacja-licznik-osob-online)



Licznik osób online - Widmo - 07-06-2013 00:37

Wersja skryptu: TenTego 2.x
Pliki do edycji: /_themes/nazwa_stylu/header.php LUB /_themes/nazwa_stylu/footer.php
Krótki opis: Modyfikacje dodaje licznik osób online. Licznik działa na takiej zasadzie, że zlicza na 5 minut (można ten czas zmienić) dane wejście po czym je odejmuje od wyniku wyświetlania jeśli dana osoba już wyszła z naszej strony.
Demo: http://oi42.tinypic.com/2sb233q.jpg

Tworzymy nowy plik php, który nazywamy online.php, do jego zawartości wklejamy:
Kod PHP:
<?php 

$ID 
session_id();
$czas time();
$do_zapisania="$ID:$czas";
$min_czas=300//czas odświeżania w sekundach 300s = 5min
$plik="online.txt";
$nowa=false;

$czytaj_plik fopen("$plik""r");
$uzytkownicy fread($czytaj_plikfilesize("$plik"));
fclose($czytaj_plik);

if (
$uzytkownicy=="")
{
    
$ile=1;
    
$do_pliku=$do_zapisania;
}
else
{
    
$uzytkownik=explode("\n",$uzytkownicy);
    while (list(
$key,$value)=each($uzytkownik))
    {
        list(
$stary_ID$stary_czas) = explode(":",$value);
        if (
$stary_ID!=$ID)
        {
            if (
$czas-$stary_czas<$min_czas)
            {
                
$nowa_zawartosc[]=$stary_ID.":".$stary_czas;
            }
        }
        else
        {
            
$nowa_zawartosc[]=$do_zapisania;
            
$nowa=true;
        }
    }

    if (
$nowa==false) {$nowa_zawartosc[]=$do_zapisania;}
    
$ile=count($nowa_zawartosc);
    
$do_pliku=implode("\n",$nowa_zawartosc);
}

$zapisz_plik fopen("$plik""w");
fwrite($zapisz_plik $do_pliku);
fclose($zapisz_plik );

echo 
"Online: $ile";

?>

Tworzymy kolejny plik online.txt, który pozostawiamy pusty. Jedynie po wysłaniu go na serwer należy zmienić CHMOD (czyli uprawnienia) na 666 - ten krok jest obowiazkowy.

Otwieramy plik /_themes/nazwa_stylu/header.php LUB /_themes/nazwa_stylu/footer.php i w wybranym przez nas miejscu (czyli tam gdzie chcemy, aby wyświetlał się licznik) wklejamy:
Kod PHP:
<?php include("online.php"); ?>

UWAGA!!!
Jeśli dodajesz kod wyświetlania licznika w miejscu, gdzie kod php został już otwarty (<?php) należy umieścić samo:

Kod PHP:
include("online.php"); 

Dla chętnych umieszczam gotowy plik w załączniku.

Mile widziane plusiki jeśli ktoś skorzystał z dodatku.


RE: Licznik osób online - mat3o - 07-06-2013 08:10

Tego szukałem Wink Działa.
P.S
Fajny masz system newsów;] może podasz na forum jak taki zrobićWink


RE: Licznik osób online - remygoldberg - 07-06-2013 11:07

A jak zmienić kolor czcionki wyświetlanej na stronie informacji?


RE: Licznik osób online - Widmo - 07-06-2013 14:00

(07-06-2013 11:07)remygoldberg@wp.pl napisał(a):  A jak zmienić kolor czcionki wyświetlanej na stronie informacji?

Wrzuć sobie to w jakiegoś diva, gdzie ustawisz klasę z wybranym przez Ciebie kolorem. Np.:
(jeśli klasa będzie w pliku .css i nosi nazwę licznik)
Kod PHP:
<div class="licznik">
<?
php include("online.php"); ?>
</div> 
(jeśli klasa nie jest zdefiniowana w pliku .css)
Kod PHP:
<div style="color:#ff0000">
<?
php include("online.php"); ?>
</div> 
------------------------
(07-06-2013 08:10)mat3o napisał(a):  Tego szukałem Wink Działa.
P.S
Fajny masz system newsów;] może podasz na forum jak taki zrobićWink
Cieszę się, że działa.
Oczywiście udostępniłbym tę modyfikację, ale niestety wciągnąłem się w panującą tu na forum komercje. Większość osób (nawet za drobne rzeczy) chcą dostawać pieniądze, jest to pierwszy dla mnie taki przypadek w sieci. Pisałem sporo na skrypty phpBB i tam nigdy nikt złamanego grosza nie dostał, a pisali ludzie tak potężne modyfikacje, że zajmowało to czasami tygodnie. Tutaj panuje ten dziwny klimat złotówek i nawet jeśli ja udostępnie modyfikację to ten stan się tutaj nie zmieni.


RE: Licznik osób online - ToRRent - 09-06-2013 15:40

Wkleiłem <?php include("online.php"); ?>  do footera i nie chula, wywala

Fatal error: Call to undefined function php include() in /usr/home/toxicator/domains/maniashots.ct8.pl/public_html/_themes/gray/footer.php on line 10


RE: Licznik osób online - dafuq3211 - 28-07-2013 02:39

łap plusa, ale coś nie działa chyba ;3
coś mi sie nie chce wierzyć żeby na mojej stronie siedziały teraz 22 osobie

3:39 w nocy niedziela, link do strony jeszcze nikomu nie był wysyłany na stronie jest może 20 obrazków. emm


RE: Licznik osób online - adex77 - 20-02-2014 18:40

Sorry że odkopuje ale u mnie wywala
Cytat:Notice: A session had already been started - ignoring session_start() in /home/gtaepic/public_html/online.php on line 3
Online: 1
Jak się pozbyć tego Notice?


RE: Licznik osób online - adex77 - 20-02-2014 23:43

Rozwiązane, wystarczyło zamienić na :
Kod:
if(!session_id()) session_start();



RE: Licznik osób online - Wyimaginowany Wirtuoz - 16-11-2015 21:51

Jest może bardziej rozbudowany owy skrypt lub podobny działający na zasadzie (Online użytkowników: 2, Gości: 121, Dodanych obiektów: 21, W poczekalni: 1231, Dodanych dziś na główną: 81, Administracja: 3)  ??