Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Cookies
Forum PHP.pl > Forum > Przedszkole
MitS
Witam!

Mam problem z cookiesami otóż próbuję zrobić coś takiego jak wersje językowe strony.
No i zacząłem od czegoś takiego:

  1. <?php 
  2.  
  3. if (isset($_COOKIE['my_language'])
  4. {
  5. &language=$_COOKIE['my_language'];
  6. }
  7. else 
  8. {
  9.  
  10. if ($_GET['lang']=="") {
  11. $language = 'pl';
  12. $language1 = 'de';
  13. $language2 = 'en';
  14. $language3 = 'ru';
  15. }
  16. elseif ($_GET['lang']=="pl") {
  17. $language = 'pl';
  18. $language1 = 'de';
  19. $language2 = 'en';
  20. $language3 = 'ru';
  21. }
  22. elseif ($_GET['lang']==de) {
  23. $language = 'de';
  24. $language1 = 'pl';
  25. $language2 = 'en';
  26. $language3 = 'ru';
  27. }
  28. elseif ($_GET['lang']==en) {
  29. $language = 'en';
  30. $language1 = 'de';
  31. $language2 = 'pl';
  32. $language3 = 'ru';
  33. }
  34. elseif ($_GET['lang']==ru) {
  35. $language = 'ru';
  36. $language1 = 'de';
  37. $language2 = 'en';
  38. $language3 = 'pl';
  39. }
  40.  
  41. setcookie("my_language", $language, time()+3600);
  42. }
  43. ... dalsza część strony
  44. ?>


i teraz tak jak chcę wysłać cookies z info o danym języku jaki ma być przechowywany to robię tak jak w przed ostatniej linijce kodu i próbuje też odebrać cookie co jest pokazane w pierwszej linijce.

no i to nie działa zbytnio bo gdy wyjdę z przeglądarki i wejdę jeszcze raz to ustawiony jest język standardowy czyli pl, a jak zrobić by język został zapamiętany w zależności od naciśniętej flagi graficznej czyli pl, de, en, ru i po wyłączeniu przeglądarki i wejsciu jeszcze raz na stronę, język łądował by się ten który wybraliśmy za pierwszym razem questionmark.gif?
lopik
Linia 5.
źle określiłeś zmienna.
Ma być: $language


I w ogóle źle ta instrukcja warunkowa jest zrobiona.
Po co dla każdego elseif dajesz wszystkie zmienne ?
Ma być tylko to, co ma być wykonane, jeśli warunek jest prawdziwy.


Lepiej to zrobić na switch

I jeśli porównujesz ciągi znaków : $_GET['lang']==ru

To musi to być w apostrofach / cudzysłowu
Tak jak masz w pierwszym elseif dla PL

Potem jeśli ktoś wybrał język, wysyłasz cookie, a jak wchodzi na stronę to sprawdzasz wartość w cookie, i ustawiasz taki język jaki jest wybrany - jaki jest w cookie.
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.