Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Nie widzi nowo utworzonego cookie?
Forum PHP.pl > Forum > Przedszkole
Mefiuu
Witam. Tworzę sobie serwis, w którym będzie możliwość wyboru języka strony. Wartość będzie przechowywana w cookies. Kod przykładowy, treningowy jest taki:

  1. if(!isset($_COOKIE['language']))
  2. setcookie('language', 'pl');


sprawdzam czy istnieje cookie, jeśli nie to tworzę z językiem polskim. Jeśli istnieje to znaczy że kiedyś już język był wybrany. Później includuję w zależności od cookie plik z wersją językową. Jest problem. Mianowicie przed wejściem na stronę nie ma takiego cookie, zrozumiałe. Po wejściu na stronę zostaje ono utworzone, ale kod:

  1. include('locale/'.$_COOKIE['language'].'/index.php');


wyrzuca błędy o niemożliwości otworzenia katalogu (chociaż cookie jest utworzone). Po przeładowaniu strony, wersja językowa się wczytuje... Dlaczego 'nie zauważa' cookie przy pierwszym wejściu zaraz po utworzeniu ?

Pozdrawiam.
Spawnm
Bo tak działa cookies, to normalne wink.gif
Mefiuu
hmmm... nigdy nie miałem z tym styczności, dlatego nie wiedziałem smile.gif a da się to jakoś załatwić ? Bo nie chciałbym, żeby na początku użytkownika przywitały "krzaczki", bez żadnego wyjaśnienia...

@edit.

W zasadzie sobie poradziłem. Jeśli cookie nie ustawione to ustaw oraz zaincluduj polską (na razie) wersję. W przyszłości dodam sprawdzanie języka przeglądarki użytkownika i będę na początku taki język ładował. Pozdrawiam.
Aqu
A nie lepiej tak:
  1. if(!isset($_COOKIE['language']))
  2. {
  3. setcookie('language', 'pl');
  4. $_COOKIE['language'] = 'pl';
  5. }
Mefiuu
niestety Aqu, Twój kod nie działa również, dlatego zostanę przy swoim rozwiązaniu pewnie.
Aqu
Fakt, sorry za wprowadzanie w błąd. wink.gif
lobopol
Ja bym to zrobił inaczej
  1. $language = 'pl';
  2. if(!isset($_COOKIE['language'])) {
  3. setcookie('language', 'pl');
  4. } else {
  5. $language = $_COOKIE['language'];
  6. }


+ sprawdziłbym sobie czy $language zawiera legalny język
Mefiuu
ciekawe rozwiązanie też, zobaczę co sam zdecyduję. Dziękuję wszystkim za odpowiedzi, leci 'pomógł' dla każdego. Pozdrawiam.
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.