ďťż
Podstrony
|
telcocafeWitam. Na swojej witrynie zbudowałem system logowania (taki standardowy). Teraz mniej więcje przybliżę jego budowę. Przy rejestracji konta zostają dodane do bazy danych różne inforamcje z formularza - m.in. login i hasło. Podczas logowania login i hasło podane w formularzu lowgowania są sprawdzane pod względem zgodności z tymi zawartymi w bazie danych i jeśli się zgadzają zostaję utworzona zmienna sesyjna - obiekt typu "user" (klasa definiowana w jednym z plików). I teraz chciałbym zrobić na stronce coś takiego, żeby pokazywało ile jest obecnie użytkowników zalogownych a ilu jest gości... Przydała by mi się do tego jakaś funckja z php, która by np. sprawdzała ile jest zarejstrowanych kopii zmiennej sesyjnej "user"... Czy istnieje jakaś taka funkcja?? Albo może macie jakiś inny pomysł na rozwiązanie tego problemu?? Liczę na waszą pomoc - z góry dzięki!PS. Mam nadzieję, że zrozumieliście o co mi chodzi... Też mialem ten sam problem kiedyś ;) Rozwiązalem to tworząc inną tabelę (w bazie) w której dodawal się nick usera i ostatnie odświerzenie strony... potem tylko wyświetlasz userów którzy byli aktywni np. w ostatnich 3 minutach... ^_^ Zapodal bym jakimś kodem, ale już nie wiem gdzie mam ten skrypt w którym to użylem, mam nadzieję, że sobie poradzisz :) function online() { $myip = $_SERVER['REMOTE_ADDR']; $timeout = 300; $filename = 'inkludy/online.txt'; $file = file($filename); $count = count($file); $add = true; $online = 0; $fopen = fopen($filename, "w"); flock($fopen, LOCK_EX); for($i=0; $i<$count; $i++) { $data = explode('|', chop($file[$i])); if($data[0]==$myip) { fputs($fopen, $myip.'|'.time()."\r\n"); $add = false; $online++; } else { if($data[1]>=(time()-$timeout)) { fputs($fopen, $data[0].'|'.$data[1]."\r\n"); $online++; } } } if($add) { fputs($fopen, $myip.'|'.time()."\r\n"); $online++; } flock($fopen, LOCK_UN); fclose($fopen); return $online; } wystarczy przerobić z plików na db + zamiast ip zapisywać nazwę usera, a jak nie ma nazwy usera to znaczy, że jest anonim :> Great thx chłopaki! |
|||
Sitedesign by AltusUmbrae. |