Autor Zpráva
jtfcobra
Profil
Ahoj mam udelany preklad v mysql ale kdyz najedu nas stranku tak prvni nacteni je bez prekladu kdyz to udelam znovu tak je to ok

<?php   
  $int=200;
  if ($_GET['lang']=='') { setcookie("hotellang","cz",time()+$int);  }
  // Jazyk
  if ($_GET['lang']=='cz') { setcookie("hotellang","cz"); };
  if ($_GET['lang']=='en') { setcookie("hotellang","en"); };
  if ($_GET['lang']=='de') { setcookie("hotellang","de"); };
  
  // Nacteni prekladu
  $con = @mysql_connect($hostname_test,$username_test,$password_test);
  $database = mysql_select_db($database_test);
  $query2 = "SELECT * from stranky";
  $show = mysql_query($query2,$con);
  while($row = mysql_fetch_array($show))
  {
  if ($_COOKIE['hotellang']=='cz')
      {
      $preklad[$row['zkratka']]=$row['obsah_cz'];
      $prekladnazev[$row['zkratka']]=$row['nazev_cz'];
      }
  if ($_COOKIE['hotellang']=='en')
      {
      $preklad[$row['zkratka']]=$row['obsah_en'];
      $prekladnazev[$row['zkratka']]=$row['nazev_en'];
      }
  if ($_COOKIE['hotellang']=='de')
      {
      $preklad[$row['zkratka']]=$row['obsah_de'];
      $prekladnazev[$row['zkratka']]=$row['nazev_de'];
      }
  }
?>
Tomášeek
Profil
jtfcobra:
14 dní zpět... Vytvoření cookie trvá delší dobu?
Kcko
Profil
jtfcobra:
Z php manuálu Once the cookies have been set, they can be accessed on the next page load with the $_COOKIE array. Cookie values may also exist in

Pokud potřebuješ změnit jazyk tak si udělej soubor changeLang.php, odkazy typu changeLang.php?lang=cz|de|en ... a tam cookie nastav a vrat zase zpátky na místo odkud ses proklik a bude to fungovat.
Nebude to fungovat pokud si jazyk nezmeníš explicitně při vstupu na web, ale tak to můžeš kontrolovat snadno -> if (!$_COOKIE['lang']) $lang = 'cz';


btw. celý tento způsob je divný a měla by to řešit URL. (web/cz/url; web/en/url) a tak dále
A pokud ne, tak můžeš vždy použít SESSION, protože to bude dělat co chceš. Hlavně ta platnost Cookie co nastavuješ je v podstatě nesmyslná.(3 min a kousek).

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: