Мултиезичност с PHP и бисквитки

tyrla4eto

Registered
Здравейте, правя мултиезичност на моя сайт чрез този код:

Код:
<?php
session_start();
header('Cache-control: private'); // IE 6 FIX

if(isSet($_GET['lang']))
{
$lang = $_GET['lang'];

// register the session and set the cookie
$_SESSION['lang'] = $lang;

setcookie("lang", $lang, time() + (3600 * 24 * 30));
}
else if(isSet($_SESSION['lang']))
{
$lang = $_SESSION['lang'];
}
else if(isSet($_COOKIE['lang']))
{
$lang = $_COOKIE['lang'];
}
else
{
$lang = 'en';
}

switch ($lang) {
  case 'en':
  $lang_file = 'lang.en.php';
  break;

  case 'bg':
  $lang_file = 'lang.es.php';
  break;

  default:
  $lang_file = 'lang.en.php';

}

include_once 'languages/'.$lang_file;
?>

Създава си бисквитката и работи, но като цъкна да сменя езика от Английски на Български, бисквитката и сайта се променят на BG, но цъкнали някъде да рефрешне страницата просто и се връща английския език, а бисквитката остава да е "bg". Ако изляза от сайта ( Log out) става пак на Български докато не го променя. А от Български на Английски такъв проблем няма. Някакви идеи от къде може да се получава така?
 
Аз нещо се обърках - бисквитки ли ползваш, сесии ли ползваш? И двете ги имаш в кода си...

//off ползвайте
PHP:
 bbcode тага вместо [code], чете се по-лесно
 
PHP:
if(isset($_GET['lang']) and !isset($_COOKIE['lang'])) {
	$lang = $_GET['lang'];
	//тука няква проверка за $_GET['lang']
	setcookie("lang", $lang, time() + (3600 * 24 * 30));
} elseif(isset($_COOKIE['lang'])) {
	$lang = $_COOKIE['lang'];
} else {
	$lang = 'en';
}
 

Горе