Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> sesje czy ciastka?
mateu07
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 10.07.2006

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


  1. <?php
  2. $languages = array("pl","de","en"); #wybieranie jezyka
  3. if(!empty($_GET['lang']) && in_array($_GET['lang'],$languages)) {
  4. $_SESSION['lang'] = $_GET['lang'];
  5. }
  6. else if(empty($_SESSION['lang'])) {
  7. $_SESSION['lang']="pl";
  8. }
  9.  
  10.  
  11. switch($_SESSION['lang']) { #wybieranie menu w zaleznosci od jezyka
  12. case "pl" :
  13. $menupl = file('./pages/menu.php');
  14. foreach($menupl as $line) {
  15. print($line);
  16. } 
  17.  break;
  18.  
  19. case "en" :
  20. $menupl = file('./pages_en/menu.php');
  21. foreach($menupl as $line) {
  22. print($line);
  23. } 
  24.  break;
  25.  
  26. case "de" :
  27. $menupl = file('./pages_de/menu.php');
  28. foreach($menupl as $line) {
  29. print($line);
  30. } 
  31.  break;
  32.  
  33.  
  34. }
  35.  
  36. if (empty($_GET['page'])) { #index.php?page=xx 
  37. $sPage = 'glowna';
  38. }
  39. else {
  40. $sPage = basename($_GET['page']);
  41. }
  42.  
  43. switch($_SESSION['lang']) { #wybieranie katalogu z stronami w zaleznosci od jezyka 
  44. case "pl" :
  45. $sFileName = './pages/' . $sPage . '.php';
  46. include ($sFileName);
  47.  break;
  48.  
  49. case "de" :
  50. $sFileName = './pages_de/' . $sPage . '.php';
  51. include ($sFileName);
  52.  break;
  53.  
  54. case "en" : 
  55. $sFileName = './pages_en/' . $sPage . '.php';
  56. include ($sFileName);
  57.  break;
  58.  
  59. default : 
  60. print('error.' . "</br>n");
  61. break;
  62.  
  63. }
  64. ?>

I teraz pytanko, jak dolaczyc do tego "cos" aby zapamietywalo mi ?lang=xx wklikniety przez uzytkownika, i aby przy nastepnych wkliknieciach w sam index.php?page=costam automatycznie wskakiwal wybrany jezyk?
Wiem, ze jest tutaj bardzo duzo niepotrzebnego kodu i pewnie takze bledow, ale niezbyt dobrze znam sie na php a chcialbym zrobic to zapamietywanie jezyka i miec z tym spokoj. Niestety nie bardzo wiem jak polaczyc ciasteczka czy sesje z tymi jezykami. Dodam jeszcze, ze odnosniki do jezykow wygladaja tak:
  1. <a href=index.php?page=glowna&lang=pl> <img width=20 height=15 src="http://www.eu07.pl/images/language/polski.gif"></a> <a href=index.php?page=glowna&lang=en><img width=20 height=15 src="http://www.eu07.pl/images/language/english.gif"></a> <a href=index.php?page=glowna&lang=de><img width=20 height=15 src="http://www.eu07.pl/images/language/german.gif"></a>


Ten post edytował mateu07 10.07.2006, 15:07:23
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Ludvik
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 698
Pomógł: 3
Dołączył: 28.03.2004
Skąd: Wrocław

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


Najpierw doprowadź ten kod do działania, a potem myśl o tym, czy if jest szybszy od switch'a. Akurat nigdy nie zauważysz tej różnicy...

Poza tym base64 nie służy do tego, co zaprezentował LamaMASTER. Ani to nie szyfruje, ani nie przesyłasz danych binarnych. Usuń to i będzie ok. Zabezpiecz też na wszelki wypadek wybór nieistniejącego języka.
Go to the top of the page
+Quote Post

Posty w temacie
- mateu07   sesje czy ciastka?   10.07.2006, 15:05:03
- - LamaMASTER   Po pierwsze nie potrzebny jest tu wcale switch i c...   10.07.2006, 15:18:39
|- - mateu07   Cytat(LamaMASTER @ 10.07.2006, 16:18 ) Po...   10.07.2006, 18:27:33
- - kwiateusz   testowałeś ten kod? o ile pamietam to tablica z ci...   10.07.2006, 16:01:18
- - LamaMASTER   Racja. Nie testowałem - pisałem tutaj na forum, gd...   10.07.2006, 16:03:35
- - Ludvik   Najpierw doprowadź ten kod do działania, a potem m...   10.07.2006, 18:30:40
- - mateu07   No i wlasnie w tym doprowadzeniu mam problem ... G...   10.07.2006, 19:06:31
- - Ludvik   Zapisywanie [PHP] pobierz, plaintext <?php// Li...   10.07.2006, 19:36:20
|- - mateu07   CytatEDIT: Powiedzmy, że przybliżyłem Mhm, ale co...   10.07.2006, 21:13:49
- - bim2   A jesli rok jest przestępny??   10.07.2006, 20:28:28
- - Ludvik   Wstaw to sobie na sam początek skryptu, zanim będz...   10.07.2006, 21:24:27
- - mateu07   Troche to dziwne, ale chyba lang od ciasteczek gry...   10.07.2006, 21:58:10
- - Ludvik   Trochę źle to wkleiłeś. To co napisałem to był prz...   10.07.2006, 22:06:52
- - mateu07   Naprawde nie wiem co dalej jest zle. Wkleilem Twoj...   10.07.2006, 22:27:52
- - LamaMASTER   Z uwagi na to, że jest już późno ( ) mogą być błę...   10.07.2006, 23:53:38
- - kwiateusz   w linii 7 powinno chyba być if (isset($cookie...   11.07.2006, 00:30:26
- - mateu07   Jest prawie dobrze, tylko teraz po wkliknieciu na ...   11.07.2006, 09:25:45
- - Ludvik   Eh... z rozpędu zrobiłem głupi błąd w swoim kodzie...   11.07.2006, 09:49:15
- - LamaMASTER   Cytatw linii 7 powinno chyba być if (isset($c...   11.07.2006, 10:59:58
- - mateu07   A jest cos takiego, jak uaktualnianie wartosci w t...   11.07.2006, 14:56:37
- - Ludvik   Mój kod powinien tak działać, jako że zmienne prze...   11.07.2006, 19:06:52
- - LamaMASTER   CytatA jest cos takiego, jak uaktualnianie wartosc...   11.07.2006, 19:25:45
- - mateu07   No tak, niby powinno, jednak chyba to jeszcze nie ...   11.07.2006, 23:41:26
- - kwiateusz   ja początek przerobiłem tak i działą [PHP] pobie...   12.07.2006, 01:15:00
- - Ludvik   Najlepiej przed każdą instrukcją wstawić "mał...   12.07.2006, 09:36:19


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

 



RSS Aktualny czas: 4.10.2025 - 07:25