Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> obsługa stref czasowych dla osób zalogowanych
jwaldek
post
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 24.12.2007

Ostrzeżenie: (0%)
-----


mam taki problem - jest sobie system do którego logują się osoby z różnych części świata - autoryzacja w php ustawia czas istnienia ciasteczek, weryfikuje też czas zalogowania w bazie mysql. dla systemu jest zdefiniowany w php default timezone.

niestety dla użytkowników z niektórych stref czasowych następuje za szybko wygaśnięcie zalogowania (pewnie cookie się przedawnia bo ma niewłaściwą datę), użytkownicy narzekają też na to, że np formularze pokazują domyślnie wypełnione pole (wypełnione za pomocą php) bieżącego czasu niezgodnei z ich strefą czasową.

chę to jakoś uporządkować aby działało to uniwersalnie i żeby np użytkownik dla swojego konta wybierał swoją strefę czasową.
coś takiego widziałem w phpbb, tylko, że tam po prostu jest dodawany +/- ilosc minut ja chciałym użyć obiektów, które są dostępne w php 5.2

$dtzone = new DateTimeZone($timezone);
$dtime = new DateTime($time,$dtzone);

tylko jak je optymalnie zastosować
- aby dla każdego użytkownika była ta sam długośc istnienia ciasteczka definiowanego w php
- aby były poprawnie wyświetlane daty, czas

wiem, ze w takim przypadku chyba lepiej wszystkie daty w bazie danych notować w postaci timestamp ale wolalbym normalne daty.

czy ktoś mógłby przedstawić jakieś optymalne rozwiązanie obsługi stref czasowych - tzn jak zapisywać daty, na którym etapie je przekształcać, jak radzić sobie z generowaniem cookie - czasem isnienia cookie, generowaniem defaultowych dat/czasu np dla formularzy gdy mamu userów z różnych stref czasowych
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Uriziel01
post
Post #2





Grupa: Zarejestrowani
Postów: 307
Pomógł: 37
Dołączył: 9.11.2010
Skąd: Zielona Góra

Ostrzeżenie: (0%)
-----


Chyba nie do końca rozumiem w czym dokładnie leży problem ? W bazie trzymasz strefę dla każdego użytkownika. Przy zalogowaniu wrzucasz też tę strefę do ciastka. Używasz tych danych do wypełniania pól formularzy z uwzględnieniem strefy czasowej użytkownika. Ciastko u użytkownika musi mieć date trwania ustawioną z uwzględnieniem tych danych tak aby nadal było to na przykład 24H czasu, ale licząc cokolwiek u siebie w serwisie używasz ich tak aby powrócić na czas lokalny serwera. Może podaj jakiś dokładniejszy przykład bo nigdy nie miałem z tym jakiegokolwiek problemu u Siebie.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.12.2025 - 17:41