Online users
18 отговора
903 прегледа
Online users
Здравейте.
Правя малко сайтче, което ще се разглейда само ако си регистриран.
Като се регистрира усера се стартира сесиа с усернама му.
Въпросът ми е как може (не питам дали може щото явно може) да се види кои усери в момента са онлине чрез сесията или трябва да ги записвам в база, когато стартират сесия и от там да ги извличам.
Правя малко сайтче, което ще се разглейда само ако си регистриран.
Като се регистрира усера се стартира сесиа с усернама му.
Въпросът ми е как може (не питам дали може щото явно може) да се види кои усери в момента са онлине чрез сесията или трябва да ги записвам в база, когато стартират сесия и от там да ги извличам.
Re: Online users
Явно ще трябва да ги съхранявам в Базата.
Възниква обаче следния въпрос:
Всичко е ок като се логират сесиата се записва в базата, като се разлогират се изтрива, но какво става ако си затворят сайта без да се разлогират. Сесията дефакто е прекратена, но как ще се изтрие от базата.
Или съм много тъп или не е чак толкова лесно.
Възниква обаче следния въпрос:
Всичко е ок като се логират сесиата се записва в базата, като се разлогират се изтрива, но какво става ако си затворят сайта без да се разлогират. Сесията дефакто е прекратена, но как ще се изтрие от базата.
Или съм много тъп или не е чак толкова лесно.
Re: Online users
При влизане на всяка нова страница си упдейтваш времето и си слагаш таймаут - примерно 15 мин.
Ако повече от 15 мин не е правил нищо в сайта, пиши го бегал.
Проблема не се решава в момента, в който си изтървете нервите
Ако повече от 15 мин не е правил нищо в сайта, пиши го бегал.
Проблема не се решава в момента, в който си изтървете нервите
Re: Online users
Може с още една сесийна променлива за броя усери онлине, която да инкрементираш и декрементираш съответно 
Re: Online users
и за какво ще се побзва тази променлива?
Moscow, раз-два-три, Moscow, посмотри.
Moscow, раз-два-три, Moscow, посмотри.
Re: Online users
E dobre de tia sesiata shte se unishtoji sled 15 minuti, ama kakshte se otrazi w bazata che e iztekla sled kato skripta e zatworen
Re: Online users
Сесията не те интересува.
Пишеш си в базата в таблицата с посетителите последно време на активност.
Него си го опресняваш на всяка страница на която влиза потребителя.
И като следиш кои са онлайн вадиш списъка на тези, които са имали активност в последните 15 мин примерно. Можеш да сложиш и друг интервал ако пожелаеш.
А последните 15 мин можеш да ги получиш като извадиш записаното време от настоящето време.
Проблема не се решава в момента, в който си изтървете нервите
Пишеш си в базата в таблицата с посетителите последно време на активност.
Него си го опресняваш на всяка страница на която влиза потребителя.
И като следиш кои са онлайн вадиш списъка на тези, които са имали активност в последните 15 мин примерно. Можеш да сложиш и друг интервал ако пожелаеш.
А последните 15 мин можеш да ги получиш като извадиш записаното време от настоящето време.
Проблема не се решава в момента, в който си изтървете нервите
Re: Online users
тцъ ... ако искаш да се пазиш от повече от едно влизане с един усер ще трябва да пазиш и да терминираш ако не се изпълнява условието. Това е теста за да не може да се логне с един усер от няколко места ако е прехваната сесията, просто я дистройваш и усер дет си има лоин ще се риджектне и след това пак ще се логне.
Moscow, раз-два-три, Moscow, посмотри.
Moscow, раз-два-три, Moscow, посмотри.
Re: Online users
Dobre de nemoje li prosto predi da si startirash sesiqta na toq koito se logva da prebroish kolko files imash v direktoriikata sys sesiite i files = sessions = online users. E tuk shte se naloji kato se destroyva sesiqta da se i zabursva ot session direktoriqta. ili gresha ?
Re: Online users
а имаш ли достъп към директорията ползвайки шаред хостинг? а и да имаш, как ще определиш еди кой си файл за кой сайт се отнася?
Moscow, раз-два-три, Moscow, посмотри.
Moscow, раз-два-три, Moscow, посмотри.
Re: Online users
za sobstveni nujdi moje da svryshi rabota. No ako imam prava za dostap do direktoriikata sys session files prespokoino moje da izpukam 1 script koito da mi kazva kakvo imam v tiiq files i otam polojenieto stava strashno. Sorry 
ideqta beshe tupa 
Re: Online users
Явно това е решението, макар че ми се струва че тези постоянни ъпдейти към базата доста ще увеличат трафика (особено ако предположим хипотетично че има 1000 усера, а страниците през които сарфират са 20-тина.
ако някой има по-добра идея нека да я сподели
ако някой има по-добра идея нека да я сподели
Re: Online users
Нямам представа как го таксува хостинга ти, но принципно това си е вътрешен трафик на самата машина (MySQL на localhost) и определено не се отчита.
Проблема не се решава в момента, в който си изтървете нервите
Проблема не се решава в момента, в който си изтървете нервите
Re: Online users
ако mysqld e на същата машина, че нещо впоследно време се натъква на хостинги дет отделен сървър за mysql
Moscow, раз-два-три, Moscow, посмотри.
Moscow, раз-два-три, Moscow, посмотри.
Re: Online users
Аз съм направил нещо подобно на PHP, с единствената разлика, че базата ми е MS SQL Server 2000. Та там в една таблица всеки, който се логне си създава собствен уникален запис. В едно от полетата се записва времето му на престой на сайта, като това време се актуализира при всяко отваряне на страница от сайта, а всяка страница се рефрешва на 15 минути ако посетителя не е затворил браузера и при въпросния рефреш се актуализира същото поле. След което на SQL Server имам създаден един Job, който се изпълнява на 15 минути и който трие всички записи, които не са били актуализирани през последните 15 минути. Ми тва е, дано съм ти бил полезен, ако не с друго поне с някоя идея 
Re: Online users
Mi.... s MySQL twa ne ti e problem... dori da sa 10000 potrebitelq za 5 minuti twa sa ti 10 000 zaqwki sredno po 2000 na minuta.... t.e. edna zaqwka takawa s ne osobena slojnost ne te gree...
Otnosno drugite warianti - ima6 edna direktoriq w koqto wseki user si ima fail s negowiq nick primewrno i pri wsqka aktiwnost na user-a pi6e6 ne6to wytre taka 4e 4asa na poslednata promqna da se promeni.... gleda6 wremeto i ako e minalo powe4e ot 15 miniti go trie6 toq fail....
4isto otkym byrzina i slojnost ne e mnogo po razli4no ot MySQL-a no az opredeleno ne bih go izpolzwal... wse pak ako ne iska6 SQL...
Otnosno drugite warianti - ima6 edna direktoriq w koqto wseki user si ima fail s negowiq nick primewrno i pri wsqka aktiwnost na user-a pi6e6 ne6to wytre taka 4e 4asa na poslednata promqna da se promeni.... gleda6 wremeto i ako e minalo powe4e ot 15 miniti go trie6 toq fail....
4isto otkym byrzina i slojnost ne e mnogo po razli4no ot MySQL-a no az opredeleno ne bih go izpolzwal... wse pak ako ne iska6 SQL...
Re: Online users
2000 заявки на минута в шаръд хостинг върху който има още 500 такива .. я да те видя...
с файл .. не е толкова шибано като дискова операция към ДБ и отваряне на коннекшън ... ама пак си е шибано щот имаш отварянето на директория и чек и промяна на атайм на файл и връщане обратно което и по-бавно от един ъпдейт на ДБ, освен това триене на файл и създаването му изискват време. Докато с ДБ можеш да триеш много запесе на веднъж.
с файл .. не е толкова шибано като дискова операция към ДБ и отваряне на коннекшън ... ама пак си е шибано щот имаш отварянето на директория и чек и промяна на атайм на файл и връщане обратно което и по-бавно от един ъпдейт на ДБ, освен това триене на файл и създаването му изискват време. Докато с ДБ можеш да триеш много запесе на веднъж.