Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Bez wylogowania
Forum PHP.pl > Forum > Przedszkole
general
Witam!

Jak to zrobić, by skrypt mi usuwał "gościa" z serwera, który się zalogował (=zapisał się na serwerze), a później zamknął przeglądarkę bez wylogowania się (i jego wpis został).
Jak się "gość" wyloguje, to skrypt mi kasuje jego wpis, a jak nie, to ten wpis zostaje - i to mi trochę komplikuje sprawę.

Proszę o pomoc, bo nie mam pomysłu, jak to zrobić...
maxio
Cytat(general @ 10.11.2006, 23:02:14 ) *
Witam!

Jak to zrobić, by skrypt mi usuwał "gościa" z serwera, który się zalogował (=zapisał się na serwerze), a później zamknął przeglądarkę bez wylogowania się (i jego wpis został).
Jak się "gość" wyloguje, to skrypt mi kasuje jego wpis, a jak nie, to ten wpis zostaje - i to mi trochę komplikuje sprawę.

Proszę o pomoc, bo nie mam pomysłu, jak to zrobić...

Nie za bardzo rozumiem . Co to oznacza "usuwał gościa z serwera" . Bo raz piszesz że zalogował się (czyli to jest zarejestrowany użytkownik potem że to gość ... i co to oznacza usuwał z serwera .
Każdego usera możesz po cookies rozpoznac ... i wtedy obrabiać to dowoli ale nie wiem czy ci o to chodzi
nasty
wystarczy ze ustawisz cookie bez dodawania paremetru wygasania,
albo uzyj sesji
venomz
Jesli chcesz miec cos takiego ze w momencie zamkniecia przegladarki "skrypt usunie goscia z serwera" to nie da sie tego zrobic. Mozna to ominac np sprawdzajac kiedy user ostatni raz kliknal na jakiegos linka (musialbys to zapisywac w bazie danych) i jesli minelo przykladowo 10 minut uznac go za wylogowanego (w tym samym czasie powinno wygasnac cookie)
nasty
Cytat(venomz @ 11.11.2006, 00:30:41 ) *
Jesli chcesz miec cos takiego ze w momencie zamkniecia przegladarki "skrypt usunie goscia z serwera" to nie da sie tego zrobic. Mozna to ominac np sprawdzajac kiedy user ostatni raz kliknal na jakiegos linka (musialbys to zapisywac w bazie danych) i jesli minelo przykladowo 10 minut uznac go za wylogowanego (w tym samym czasie powinno wygasnac cookie)


Venomz: Poczytaj na php.net o sesjach oraz cookies i sam skomentuj to co napisales winksmiley.jpg
venomz
Cytat(nasty_psycho @ 11.11.2006, 00:33:32 ) *
Venomz: Poczytaj na php.net o sesjach oraz cookies i sam skomentuj to co napisales winksmiley.jpg


widze ze problem zrozumielismy inaczej bo nie wydaje mi sie zeby chodzilo tutaj tylko usuniecie ciasteczka po zamknieciu przegladarki. skoro jest system logowania i wylogowywania to powinna byc baza danych ktora trzyma informacje o userach itp. general pisze ze jak "gosc sie wyloguje to skrypt kasuje jego wpis" - to mi wyglada na jakas interakcje z baza danych ktora raczej sie nie dokona jesli user zamknie przegladarke. dlatego podalem przyklad jak sprawdzic czy user jest zalogowany.
general
Dziękuję bardzo za pomoc!

Pokombinuję coś z "ciasteczkami" i z sesjami, choć częściowo powinno to mi rozwiązac problem!

-----

Nie mam możliwości korzystania z bazy MySQL czy jakiejś innej - to mi też utrudnia robotę.

System logowania: "gość" - znaczy użytkownik zarejestrowany i zapisany w pliku "użytkowników" - ma możliwość logowania

- i wtedy wyświetla mi na stronie, że on jest zalogowany.

Gdy się wyloguje, to mi skrypt usunie nazwę "użytkownika" - i on "zniknie" - coś podobnego, jak na tej stronie Forum na dole, gdy podaje, ilu jest zarejestrowanych, a ilu jest gości...

No i taki problem, że jak "użytkownik" - zalogowany - zamknie przeglądarkę bez wylogowania się, to skrypt tego nie "wyczuje" i dalej wyświetla, że "użytkownik" jest obecny, co nie jest zgodne z prawdą...

Jeśli by ktoś znalazł bardziej skuteczny sposób niż tylko "ciacha" na kontrolowanie "zalogowanych", to będę wdzięczny.


OK!

Zrobiłem coś takiego:

  1. <?php
  2. if ($_SESSION['username']):
  3.  
  4. if (file_exists($username)) touch($username);
  5.  
  6. $handle = opendir('/list/');
  7. while (false !== ($file = readdir($handle)))
  8. {
  9. if ($file != "." && $file != "..")
  10. {
  11. $czaspliku=filemtime('/list/'.$file);
  12. $teraz=mktime(+1,0,0);
  13. if ($czaspliku<$teraz) unlink('/list/'.$file);
  14. }
  15. }
  16. closedir($handle);
  17.  
  18. endif;
  19. ?>


Może to nie jest jakieś rewelacyjne rozwiązanie, ale na razie się sprawdza winksmiley.jpg
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.