Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Liczenie Sesji
Forum PHP.pl > Forum > PHP
Lethys
Chce zrobic licznim online , i mysle ze moze mozna by bylo zrobic to liczac aktywne sejse questionmark.gif

Moze zna ktos lepszy pomysl ...
siemakuba
Ja znam wyśmienity sposób :)
Wyszkuwiarka

Po cóż znów to samo powtarzać?

pozdr.
elmoxxx
Wyswietlaj jakiegos randoma (losowa liczbe) zmieniaj go co pare minut (mozna to zrobic na sesji) - i tak nikt tego nie sprawdzi ile osob jest online.
To najoptymalniejsza metoda.

Powodzenia
mike
Cytat(elmoxxx @ 27.10.2006, 16:44:31 ) *
Wyswietlaj jakiegos randoma (losowa liczbe) zmieniaj go co pare minut (mozna to zrobic na sesji) - i tak nikt tego nie sprawdzi ile osob jest online.
Boże ~elmoxxx proszę, przestań wypisywać głupoty na forum.
Zarejestrowałeś się niedawno ale już widać że nie za bardzo piszesz na temat.
Po co ktoś miałby tak robić? Żeby przyszpanować?
Skoro autor chce wyświetlać ilość osób online to ma to być ilość osób online a nie jakaś losowa liczba.

Zastanów się proszę przed napisaniem kolejnego posta.

Cytat(elmoxxx @ 27.10.2006, 16:44:31 ) *
To najoptymalniejsza metoda.
Najoptymalniejsza.
Tylko nie ma żadnego związku z problemem, bo nie wyświetla ilości osób online.
Turgon
Zlicz ilość tak samo jakbyś sprawdzał czy dana sesja jest aktywna.
elmoxxx
Przeciez i tak nie da sie sprawdzic _faktycznej_ ilosci osob online na stronie, to co po co sobie zawracac glowe zliczaniem ktore i tak nie daje prawdziwego wyniku. Imho lepiej wyswietlic cos losowego i skupic sie na wazniejszych rzeczach.

Nie przedstawiles tez zadnych argumentow przeciwko mojemu rozwiazaniu tylko bezzasadnie sie czepiasz, probuje komus pomoc... taka Polska wlasnie sad.gif
mike
Cytat(elmoxxx @ 27.10.2006, 17:27:56 ) *
Przeciez i tak nie da sie sprawdzic _faktycznej_ ilosci osob online na stronie, (...)
Można podać to z jakś dokładnością.
Prezyzję sam sobie wybierasz. Ilość osób aktywnych w ciągu ostatnich 5min., 10min., 15sek., .... co tylko chcesz.

Cytat(elmoxxx @ 27.10.2006, 17:27:56 ) *
Nie przedstawiles tez zadnych argumentow przeciwko mojemu rozwiazaniu tylko bezzasadnie sie czepiasz, (...)
Zrozum że twoje "rozwiązanie" to nie jest żadne rozwiązanie.
Rozwiązanie to czynność króra prowadzi do wyjaśnienia jakiejś sytuacji. Danie odpowiedź na zaustniałą sytuację, pytanie.
A Twój sposób nawet nie ma nic wspólnego z wyświetlaniem osób online.

Cytat(elmoxxx @ 27.10.2006, 17:27:56 ) *
Imho lepiej wyswietlic cos losowego i skupic sie na wazniejszych rzeczach.
Są serwisy, na których informacja o ilości osób online jest badzo istotna.
A o ile się nie mylę to nie wiesz przecież w jakim kontekście pyta autor, prawda?
skowron-line
Cytat(elmoxxx @ 27.10.2006, 15:27:56 ) *
Imho lepiej wyswietlic cos losowego i skupic sie na wazniejszych rzeczach.

no to gratuluje pomyslu jak ci to zleca to dasz im skrypt
  1. <?php
  2. echo rand(1,200);
  3. ?>

z takimi pomyslami nie wroze ci kariery programisty
elmoxxx
Chyba troche przesadziles z tym kodem.
Macie tytaj gotowa klase do zliczania osob online z modelowaniem i czterema stopniami obciazenia (m.in. tryb elite):

  1. <?php
  2. define(LOW_TRAFFIC, 0);
  3. define(MID_TRAFFIC, 1);
  4. define(HIGH_TRAFFIC, 2);
  5. define(ELITE_TRAFFIC, 3);
  6.  
  7. class OnlineMeter {
  8.  
  9. public static function getCount($traffic) {
  10.  
  11. $h = date("H");
  12.  
  13. $diff = $_SESSION['omgcts'];
  14.  
  15. if(($diff!=null && (time()-$diff)>300) || $diff == null) {
  16. if($traffic == LOW_TRAFFIC) 
  17. $peak = 5; else
  18. if($traffic == MID_TRAFFIC)
  19. $peak = 10; else
  20. if($traffic == HIGH_TRAFFIC) 
  21. $peak = 50; else
  22. if($traffic == ELITE_TRAFFIC) 
  23. $peak = 1000;
  24.  
  25. if($h < 1) $peak*=0.9; else
  26. if($h < 3) $peak*=0.4; else
  27.  if($h < 5) $peak*=0.01; else
  28.  if($h < 8) $peak*=0.2; else
  29.  if($h < 10) $peak*=1.1; else
  30.  if($h < 12) $peak*=1.5; else
  31.  if($h < 15) $peak*=2.1; else
  32.  if($h < 19) $peak*=3.1; else
  33. $peak*=4.1;
  34.  
  35. $_SESSION['omgcts'] = time();
  36.  
  37. $_SESSION['omgc'] = rand(1, $peak);
  38.  
  39.  
  40. }
  41. return $_SESSION['omgc'] ? $_SESSION['omgc'] : 0;
  42. }
  43. }
  44.  
  45.  
  46. echo 'People online: '.OnlineMeter::getCount(LOW_TRAFFIC);
  47.  
  48. ?>


Aha ilosc osob jest co 5 minut liczona.

Enjoy!
mike
Przecież to nie jest liczba osób online!!!
Człowieku zrozum to!

Widze że prezentujesz pogląd: "Mie wiem jak coś zrobić więc zrobię coś całkowicie innego".

Przecież ten kod to idiotyzm.

To nie ma większej różnicy z
  1. <?php
  2. echo rand(1,200);
  3. ?>
elmoxxx
Bo nie potrafisz spojrzec obiektywnie na problem, wszystko widzisz od strony programistycznej. Postaw sie w sytuacji uzytkownika. Przeciez z jego perspektywy co za roznica ?
jarrod
kolega chyba nie wie po prostu jak działają sesje i nie rozumie ich istoty...
~elmoxxx - powinieneś dostać ostrzeżenie za takie głupoty.

Cytat(elmoxxx @ 27.10.2006, 19:29:43 ) *
Bo nie potrafisz spojrzec obiektywnie na problem, wszystko widzisz od strony programistycznej. Postaw sie w sytuacji uzytkownika. Przeciez z jego perspektywy co za roznica ?


Bez komentarza - idę gdzie indziej tongue.gif
hwao
Kolega z PiS'u?


Off-topic:
Najlepiej stwórz "session handler" oparty na bazie danych. Potem tylko pytanie liczące ilość rekordów w bazie danych Ci będzie potrzebne. Artykuł jak wykonać session handler masz na wortal.php.pl

Ps, napisałem modyfikacje do skryptu smile.gif
  1. <?php
  2. define( 'GOD_LIKE_TRAFFIC', 666 );
  3. ?>
mike
Cytat(elmoxxx @ 27.10.2006, 19:29:43 ) *
Bo nie potrafisz spojrzec obiektywnie na problem, wszystko widzisz od strony programistycznej. Postaw sie w sytuacji uzytkownika. Przeciez z jego perspektywy co za roznica ?
Gościu zrozum jedno: to że dla Ciebie to nie różnica to nie znaczy że dla kogoś też.
Jak wchodzisz na chat'a to masz gdzieś ile tam jest osób? Jeśli tak, to masz coś z głową.

Poza tym przyjdzie do Ciebie kiedyś ktoś ze zleceniem a ty co? Zaczniesz mu wmawaiać że on chce czegoś innego?
Autor potrzebuje ilość osób online, więc po co wciskasz mu jakieś głupoty?

Napisz jeszcze jednego posta nie na temat wątku w któym piszesz a dostaniesz ostrzeżenie.
splatch
Zgodnie ze stopką mike'a, którzy usiłują przemówić do rozumu elmoxxx, Panowie, szkoda czasu.

Nie dyskutuj z debilem. Najpierw sprowadzi Cię do swojego poziomu, a potem pokona doświadczeniem..
elmoxxx
Sam sobie zaprzeczasz, uszanuj to ze ktos ma inny punkt widzenia. Nie bede dalej komentowac, ty zaczales pisac nie na temat i sam powinienes dostac ostrzezenie.

EOT z mojej strony
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.