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
mateu07
post
Post #2





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

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


No tak, niby powinno, jednak chyba to jeszcze nie dziala jak powinno...
  1. <?
  2. $languages = array('pl', 'en', 'de');
  3.  
  4. $cookie = $_COOKIE['lang'];
  5. $lang = $_GET['lang'];
  6.  
  7. if (isset($cookie)) {
  8. $lang = $cookie;
  9. }
  10. else {
  11. if (in_array($_GET['lang'], $languages)) {
  12. setcookie('lang', $lang, time() - 3600);
  13. $lang = $_GET['lang'];
  14. setcookie('lang', $lang, time() + 60*60*24*365);
  15. }
  16. else {
  17. $lang = 'pl';
  18. }
  19. }
  20.  
  21. ?>
  22.  
  23. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  24. <html>
  25. <head>
  26. <title>I Liceum Ogólnokształcace im. Marii Skłodowskiej-Curie w Ostrzeszowie</title>
  27. <meta http-equiv="content-type" content="text/html; charset=ISO-8859-2">
  28. <meta http-equiv="content-language" content="pl">
  29. <meta name="rating" content="general">
  30. <meta name="robots" content="index, follow">
  31. <meta name="generator" content="notepad">
  32. <meta name="keywords" content="ostrzeszów, ostrzeszów lo, ostrzeszow, liceum, ostrzeszów liceum, I LO Ostr
    zeszów, I Liceum Ogólnokształc?ce w Ostrzeszowie">
  33. <meta name="author" content="(c) matinfy '89">
  34. <meta name="revisit-after" content="7 days"><link rel="shortcut icon" href="">
  35. <html>
  36. <center>
  37. <script language="javascript">
  38.  function onColor(blah)
  39.  {
  40.  blah.style.backgroundColor='#CDCDCD';
  41.  }
  42.  
  43.  function offColor(blah)
  44.  {
  45.  blah.style.backgroundColor='#F0F0F0';
  46.  }
  47.  function displayWindow(url, width, height) {
  48. var Win = window.open(url,"displayWindow",'width=' + width + ',height=' + height + 
  49. ',left=50,top=50,resizable=1,scrollbars=yes,menubar=no' );
  50.  }
  51. </script>
  52.  
  53. <link href="index_files/styl.css" rel="stylesheet" type="text/css">
  54. <body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0" marginwidth="0" marginheight="0" bgcolor="#F2F2F2" 
  55. background="index_files/bg.gif"><img src="index_files/logo.jpg" align="top">
  56.  
  57. <table align="top" border="0" cellpadding="0" cellspacing="0" width="700">
  58. <tbody><tr><td bgcolor="silver" height="1"></td></tr>
  59.  
  60. <tr><td background="index_files/tlo.gif" height="25">&nbsp;<font color="#ffffff"><b>Witamy na stronie głównej I 
  61. Liceum Ogólnokształc�cego w Ostrzeszowie!</b></font></td><td background="index_files/tlo.gif" height="25">&nbsp;<font color="#ffffff">
  62. <a href=index.php?page=glowna&lang=pl> <img width=20 height=15 src="http://www.eu07.pl/images/language/polski.gif"></a>&nbsp;<a href=index.php?page=glowna&lang=en><img width=20 height=15 src="http://www.eu07.pl/images/language/english.gif"></a>&nbsp;<a href=index.php?page=glowna&lang=de><img width=20 height=15 src="http://www.eu07.pl/images/language/german.gif"></a>
  63. </td></tr></tbody></table>
  64. <?
  65.  
  66. if ($lang == 'en') {
  67. $menupl = file('./pages_en/menu.php');
  68. foreach($menupl as $line) {
  69. print($line);
  70. }
  71. }
  72. else if ($lang == 'de') {
  73. $menupl = file('./pages_de/menu.php');
  74. foreach($menupl as $line) {
  75. print($line);
  76. }
  77. }
  78. else {
  79. $menupl = file('./pages/menu.php');
  80. foreach($menupl as $line) {
  81. print($line);
  82. }
  83. }
  84.  
  85. ?>
  86.  
  87. <td bgcolor="#efefef" valign="top">
  88.  
  89. <?
  90. $page = $_GET['page'];
  91.  
  92. if (empty($page)) {
  93. $sPage = 'glowna.php';
  94. }
  95. else {
  96. $sPage = basename($_GET['page']).'.php';
  97. }
  98.  
  99. if ($lang == 'pl') { 
  100. include('./pages/'.$sPage); 
  101. }
  102. else if ($lang == 'en') {
  103. include('./pages_en/'.$sPage);
  104. }
  105. else if ($lang == 'de') {
  106. include('./pages_de/'.$sPage);
  107. }
  108. else {
  109. ?>error<br /><?
  110. }
  111.  
  112. ?>
  113.  
  114.  
  115.  
  116.  
  117.  
  118. </td></tr></tbody></table></center>
  119. </td> </tr>
  120. </tbody></table>
  121.  
  122.  <table align="top" border="0" cellpadding="0" cellspacing="0" width="700">
  123. <tbody><tr><td bgcolor="silver" height="1"></td></tr>
  124.  
  125. <tr><td background="index_files/tlo.gif" height="25"><font color="#ffffff"><center> ciapy z pierwszejbe. 
  126. 09.07.06 16:38</b></center></font></td></tr></tbody></table>
  127.  
  128.  
  129.  
  130. </body></html>

http://dyzurny.rwi.pl/index.php tak to dziala
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: 9.10.2025 - 17:16