Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dwóch użytkowników na jednym koncie
Forum PHP.pl > Forum > PHP
Akcelerator
Witam.

Napotkałem na pewien problem w mojej aplikacji. Mianowicie gdy ktoś na komputerze K1 poda prawidłowy login i hasło do konta X, skrypt przeszuka tabele sesji aby sprawdzić czy ktoś jest zalogowany na to konto i jeśli tak się stanie usunie z tej sesji informacje o tym, a następnie do swojej sesji wpisze informacje, że jest zalogowany na konto X. Po czym komputer K1 wywoła jakąś podstronę. W tym czasie gdy będzie wykonywana wybrana podstrona, ktoś inny na komputerze K2 poda prawidłowy login i hasło do konta X, wtedy skrypt usunie z sesji komputera K1 informacje, że jest zalogowany na jakiekolwiek konto, a następnie wpisze do sesji komputera K2 informacje, że jest zalogowany na wybranego użytkownika. Tu pojawia się problem, jak sprawić by skrypt komputera K2 odpowiedzialny za usunięcie z sesji komputera K1 informacji o zalogowanym użytkowniku poczekał do momentu zakończenia wykonywania podstrony wywołanej przez komputer K1.

Jedyne na co wpadłem to dodać pole w tabeli sesji informujące ze skrypt jest aktualnie wykonywany. Czyli gdy zostaje wywołana podstrona to do bieżącej sesji wpisywana jest informacja, że skrypt jest uruchomiony, a następnie przy jej zakończeniu wpisywana jest informacje, że dla danej sesji nie jest wykonywany żaden skrypt. Tylko to ma swoją wadę, bo gdy coś pójdzie nie tak, czyli przy zakończeniu skryptu, nie zostanie wpisana informacja do danej sesji, że przestał być wykonywany, to taka informacja będzie tam cały czas, do wygaśnięcia sesji albo ponownego wywołania podstrony przez komputer powiązany z ta sesją.

Proszę o pomoc. Mam nadziej, że dobrze objaśniłem swój problem, jeśli jednak nie, postaram się dokładniej.
lukaskolista
Da sie, mozesz pidy zapisywac czy cokolwiek co jest zapisywane na poczatku wykonywania skryptu i usuwane na koncu. IMO jest to jeden wielki bezsens, bo konto powinno byc przydzielone tylko do 1 uzytkownika, a 1 uzytkownik w danym czasie moze korzystac tylko z 1 komputera. Tak jest chyba we wszystkich aplikacjach, tak samo dzialaja phpowe sesje. Wedlug mnie jezeli aplikacja nie jest dedykowana 2-glowym osmiornicom z podzielnoscia uwagi to nie powinienes sie tym przejmowac.
Akcelerator
Jedno konto ma być przeznaczone dla jednej osoby, ale nie ma pewności, że ten ktoś nie udostępni tego konta komuś innemu. Jeśli jednak nie ma sensownego rozwiązania, to rzeczywiście się tym przejmował nie będę.
lukaskolista
jak udostepni to jego bol, nie widzialem aplikacji ktora by takie cos obslugiwala, bo to totalny bezsens. Powinienes tak skonstruowac regulamin aby udostepnianie konta bylo zabronione. Jak ktos inny bedzie chcial korzystac z opcji zalogowanego uzytkownika to powinien zalozyc sobie swoje konto.
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.