Sito con doppia lingua. Gestire il cambio

lorenzo84

Utente Attivo
22 Lug 2012
239
0
16
Buonasera.
Sto realizzando un sito in due lingue. Inglese e Italiano. Di default in index viene messo in italiano. Il tutto viene gestito tramite una variabile di sessione e al click sulla bandiera inglese viene rimandato alla pagina index.php dal quale viene richiamata una pagina lingua che setta la variabile di sessione a inglese.
La pagina lingua è cosi:

PHP:
if(isset($_GET['l']))
{
	$ltmp=trim($_GET['l']);
	$lungl=strlen($ltmp);
	if($lungl==2 && ($ltmp=='it' || $ltmp=='en' ))
	{		
		$l=mysqli_real_escape_string($conn,$ltmp);
		$_SESSION['l']=$l;
	}
	else
	{
		$_SESSION['l']="it";
	}
}
else
	{
		if(isset($_SESSION['l']))
		{
			$_SESSION['l']=$_SESSION['l'];
		}
		else
		{
			$_SESSION['l']="it";
		}
	}

Non so se il meccanismo è corretto ma funziona tutto. L'unico problema è che a ogni cambio di lingua si viene reindirizzati a index.php. Non riesco a trovare un meccanismo per far tornare l'utente alla pagina visualizzata al momento che clicca inglese.

qualche consiglio?

Grazie mille a chi mi risponderà
 
Basta che nel link della tua bandiera passi, oltre alla relativa lingua, anche la pagina attuale, così da richiamare la corrispondente in inglese o italiano.
 
Oppure quando cambia la lingua metti un re-indirizzamento alla pagina precedente.
 
Prova con questo:
PHP:
header("Location:$_SERVER['HTTP_REFERER']");
 

Discussioni simili