Autor Zpráva
piiiiiiiip
Profil
Dobrý den.
Chtěl bych si na svou stránku přidat vypisování nicku online uživatelu.
Udělal jsem si na to tabulku:
CREATE TABLE `uzivatele` (
   `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
   `jmeno` VARCHAR( 32 ) NOT NULL ,
   `heslo` VARCHAR( 32 ) NOT NULL ,
   `mail` VARCHAR( 64 ) NOT NULL ,
   `web` VARCHAR( 128 ) NOT NULL ,
   `je_online` TINYINT NOT NULL ,
    UNIQUE (`jmeno` , `mail` )
) ENGINE = innodb CHARACTER SET utf8 COLLATE utf8_czech_ci;

Tet bych potřeboval script který ty online uživatele vypíše když se přihlásí a naopak aby nick ze stránky zmyzel kdyý se odhlásí či vypne internetový prohlížeč.Protože ješte s php nejsem tak zkušený uvítal bych jednoduchý script s popisem a vysvětlením jak to funguje apod...
AM_
Profil
na to jak vypsat z databáze data jsou na webu milióny příkladů, i pokud se začínáš učit PHP, přepracovat to na tvůj příklad nebude složité.

piiiiiiiip:
když se odhlásí či vypne internetový prohlížeč
když se odhlásí, je to jednoduché, prostě do buňky je_online uložíš 0.
když vypne prohlížeč, nelze to nijak zjistit :) leda třeba přes AJAX pořád něco posílat a když se to posílat přestane, uživatel zřejmě stránku opustil. Tento problém se řeší tak, že se "je_online" ukládá jako timestamp (mysql má přímo datový typ TIMESTAMP, pokud jsi začátečník toleroval bych možná použití INT a ukládání PHP hodnoty time() ); do této hodnoty se zapíše poslední známý čas, kdy uživatel na stránce něco udělal (nebo se třeba přes AJAX pořád aktualizuje). A pak si definuješ, že online je uživatel, který "něco udělal" během posledních pěti minut, a vypíšeš právě takové, kde je_online > time()-300.
piiiiiiiip
Profil
Dík moc za vysvetlení :-)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: