No, non hai capito quello che intendevo dire.
Andiamo in ordine.
1) Nel file config crea una variabile che memorizzi la lingua che vuoi venga usata di default se l'utente ancora non l'ha scelta
Codice PHP:
$_CONFIG['lang'] = 'it' ;
2) Ora non so come tu gestisca le sessioni ma la regola vorrebbe che tu ne inizializzassi cmq una, anche se l'utente non è loggato. Ciò vuol dire che in ogni pagina fai questo controllo:
Codice PHP:
if ( !isset( $_SESSION['lang'] ) )
{
// La lingua non è settata
// quindi la settiamo con quella di default
$_SESSION['lang'] = $_CONFIG['lang'] ;
}
Fino ad ora abbiamo visto come settare la lingua se questa non è stata scelta dall'utente.
3) crea una pagina che chiamerai changeLang (o come vuoi chiamarla!). Quando l'utente cliccherà sul link per cambiare lingua (qualcosa tipo tuoindirizzo.it/changeLang.php?lang=en) sarà mandato a questa pagina che fa un cosa molto semplice:
Codice PHP:
$_SESSION['lang'] = $_GET['lang'] ;
header( 'Location: tuoindirizzo.it' ) ;
Abbiamo quindi cambiato la lingua con cui visualizzare il sito e tutto indipendentemente dal fatto che l'utente sia loggato o meno.
Importante notare che la pagina non stampa assolutamente niente essendo un semplice "ponte"! Una volta cambiata la lingua, infatti, rimanda alla home.
Ti ho fatto creare una nuova pagina perchè in questo modo sei più libero di fare ciò che vuoi quando la lingua viene cambiata. Io uso lo stesso sistema e quando la lingua viene cambiata posso analizzare la provenienza dell'utente e rimandarlo alla pagina dalla quale ha cambiato lingua (ovviamente mostrandogliela nella nuova lingua scelta!), posso memorizzare la sua scelta sul db se ho le sessioni su db e posso fare qualunque altra cosa mi venga in mente e che mi serve quando la lingua viene cambiata.
Hai capito? Se hai ancora qualche dubbio posta pure che ti spiego meglio il concetto. Ciao!