Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] sesja a wyłączone cookie, przenoszenie danych o języku
Dynuel
post
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
jarrod
post
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.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 16.10.2025 - 12:46