![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 0 Dołączył: 27.12.2003 Ostrzeżenie: (0%) ![]() ![]() |
Chcę na stronie zrobić wybór języka.
Gdy użytkownik wejdzie na strone skrypt sprawdzi czy istnieje cookie z zapamietanym wyborem i go wczyta. Lecz gdy użytkownik trafi na nią pierwszy raz i cookie nie będzie, skrypt automatycznie sprawdzi jezyk przeglądarki i ustawi na taki, a w razie jakichś problemów ustawi domyślny. A gdy ten język nie będzie odpowiadał użytkownikowi, to zmieni on sobie go na jakiś inny a wybór zostanie zapisany do cookie. I z każdą następną stroną skrypt będzie odpalał sie on nowa. Tylko co jeżeli użytkownik ma wyłączone cookie (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ? Wybór/zmiana języka dokonana przez użytkownika nie będzie nigdzie zapamiętywana, co będzie wkużające. W takim razie na wszelki wypadek (tak od razu, no chyba ze da sie jakoś sprawdzić czy przeglądarka akceptuje cookie) powinienem ustawiać sesję z dokonanym wyborem, by był on zapisywany przynajmniej na czas wizyty gościa. czyli domyślnie mam od razu tworzyć sesję i ustawiać cookie? zgadza sie? chcę sie dowiedzieć czy dobrze rozumuję i czy jest to prawidłowe, co wy o tym sądzidzie gdyż ja sie za bardzo nie znam Ten post edytował Dynuel 15.11.2007, 11:06:33 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 312 Pomógł: 9 Dołączył: 14.10.2006 Skąd: warszawa Ostrzeżenie: (0%) ![]() ![]() |
Identyfikator sesji przechowywany jest w cookie albo przesyłany metodą $_GET ale jest to odradzane ze względów bezpieczeństwa.
Ja tak w swoim systemie zrobiłem, że jak nie mam jak przechować informacji o języku to przesyłam getem (mam maskowanie URLa). Tyle, że ja zrobiłem tak, że wszystkie linki są tworzone poprzez funkcję systemową. Więc wystarczy zmienić tą funkcję i cała konstrukcja linków się zmienia. Np.: /pl/start.html albo /en/strona/zmienna/inna_zmienna.html Później trzeba napisać funkcję która to odczytuje i wstawia do odpowiedniej zmiennej która de facto zastępuję ci zmienną $_GET. Ale to rozwiązanie do zastosowania przy budowie nowego systemu. Trochę roboty na początku a później wielkie ułatwienie. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 12:46 |