ho affrontato lo stesso problema e per agevolarmi il tutto ho utilizzato un "doppio binario" GET e SESSIONI
Infatti gestire tutto tramite get (tutti i link interni del sito dovranno avere la variabile GET della lingua, anche quelli dei form!!!) alle volte crea complicazioni o cmq cose brutte...
ad esempio un form con method post ma che nell'action contient ela variabile get... un casino insomma!!
Allora ho fatto una cosa di questo genere
in questo modo se eventualmente mi crea casini inviare la variabile GET con la lingua la posso comunque recuperare ricorrendo alla variabile di sessione...Codice PHP:<?php
session_start();
session_regenerate_id(TRUE);
/*se mi arriva la variabile get utilizzo quella per impostare $lang*/
/*contestualmente creo una variabile di sessione*/
if( (isset($_GET['lang'])) && (!empty($_GET['lang'])) )
{
$lang=$_GET['lang'];
$_SESSION['lang']=$lang;
}
/*se la viariabile get non mi è arrivata
cerco se è stata in precedenza valorizzata la sessione con la lingua
e con quella imposto $lang*/
else if( (isset($_SESSION['lang'])) && (!empty($_SESSION['lang'])) )
{
$lang=$_SESSION['lang'];
}
/*altrimenti si beccano $lang italiano*/
else
{
$lang="ita";
}
/*in base al valore di $lang includo il file della lingua
che contiene una serie di define*/
switch ($lang)
{
case 'eng': include("/language/eng/define_eng.php");
break;
case 'ita': include("/language/ita/define_ita.php");
break;
default: include("language/ita/define_ita.php");
}
?>
Spero di essermi spiegato bene..
anzi se c'è un esperto che mi possa dare un parere (soprattutto se critico!!) lo gradierei particolarmente

Rispondi quotando