Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Cookies
MitS
post 25.11.2006, 12:39:58
Post #1





Grupa: Zarejestrowani
Postów: 262
Pomógł: 5
Dołączył: 8.02.2005
Skąd: Olsztyn / Zatorze

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


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?
Go to the top of the page
+Quote Post
lopik
post 25.11.2006, 13:02:20
Post #2





Grupa: Zarejestrowani
Postów: 340
Pomógł: 0
Dołączył: 7.07.2006

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


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.

Ten post edytował lopik 25.11.2006, 13:04:35


--------------------
w3c & c++
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 09:18