Witam.
Walsnie koczne skrypt LOGOWANIA / LICZNIKA Online.
I natknalem sie na problemy.
Mainowicie nie wiem jak sobie poradzic z sESJAMI zapisanymi w bazie, a mianowicie:
- jak ktos wchodzi na strone to towrzona jest sesja GOSC - z parametrami LOGIN=GOSC, GRUPA=0.

Jesli ktos sie zaloguje to jest robiony UPDATE sesji i wtedy tam do BAZY i do SESJI zapisuje LOGIN osoby, UID, oraz GRUPE.
Moja funckja procz towrzenia sesji KASUJE takze SESJE starze niz 180 sekund -> i jesli zostanie skasowana SESJA GOSCIA ->to jak kilknie jakis link na mojej stronie to od nowa jest tworzona Sesja GOSCIA -> i tu jest wszytko w porzadku.
---Jednak jak zostaje skasowana SESJA Zalogowanego uzytkownika to jest problem - bo nie wiem jak ja przywrocic jak UZYTKOWNIK kliknie jakis link (czyli jak stanie sie aktywny). questionmark.gifquestionmark.gif?

Co zrobic z ta wycieta z bazy SESJA Uzytkownika - jest mi to bardzo potrzebne do prawidlowego stwierdzenia ile jest osob ONLINE (RAZEM, GOSCI, USEROW. Jak sobie z tym poradzic. Bardzo prosze o pomysl i przyklad.
Kod mojej funckji ltora tworzy SESJE goscia i robi UPDATE stowrzonych SESJI, a takze kasuje SESJE starsze. (funkjca ta jest uruchamiana za kazdym razem gdy ktos na stronie kliknie link)
  1. <?function tworz_sesje() {
  2.  
  3. global $link,$_SESSION;
  4.  
  5. $sid = session_id();
  6. $timestamp = time();
  7.  
  8. $ip = $_SERVER['REMOTE_ADDR'];
  9. $path = $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];
  10.  
  11. ///// jesli istnieje SESJA czy to UZYTKONIKA czy GOSCIA robimy UPDATE danych
  12. if( isset( $_SESSION['login'] ) ) {
  13. $query2=&#092;"UPDATE users_sesje SET timestamp='$timestamp', login='\".$_SESSION[\"login\"].\"', grupa='\".$_SESSION[\"grupa\"].\"', path='$path'
  14.  WHERE sid='\".$sid.\"' &#092;";
  15. $result2=mysql_query($query2, $link) or die(&#092;"Bład: \".mysql_error());
  16. }
  17. /////jesli brak SESJI (podczas wejscia na strone) to ja TOWRZYMY - tworzona jest SESJA GOSCIA
  18. else{
  19. $_SESSION[&#092;"grupa\"]='0';
  20. $_SESSION[&#092;"login\"]='Go&para;ć';
  21. $query=&#092;"INSERT INTO users_sesje VALUES (0, '$sid', '$timestamp', 'Go&para;ć','','0','$ip','$ip2', '$path')\";
  22. $result=mysql_query($query, $link) or die(&#092;"Bład: \".mysql_error());
  23. }
  24. /////kasowanie z BAZY SESJI starszych niz 180 sekund
  25. $timestamp=time();
  26. $timeout=time()-180;
  27. $query3=&#092;"DELETE FROM users_sesje WHERE timestamp<'\".$timeout.\"'\";
  28. $result3=mysql_query($query3, $link) or die(&#092;"Bład: \".mysql_error());
  29.  return true;
  30. }
  31. ?>