Torno sul problema cercando di essere il più chiaro e conciso possibile, visto che ho tentato con gli URL assoluti, ma senza successo.
![]()
![]()
![]()
Allora....... ho un menù laterale con una voce che mi permette di switchare tra la versione italiana e quella inglese del sito che sto ristrutturando.
La mia intenzione è quella di far tornare l'utente che vuole cambiare lingua alla pagina in cui ha clikkato il bottone per lo switch.
Per fare questo mi sono inventato un metodo (che non so se sia buono, ma di sicuro è funzionante con URL semplici).
Riporto il codice interessato (semplificato, naturalmente) sperando che riesca a spiegarvi meglio di come sto provando io a parole)
Ora, il file lingua.php non fa altro che settare un cookie con la preferenza impostata dall'utente circa la lingua da usare, e redirigerlo verso la pagina di provenienza la quale (andando a leggere il cookie in questione) verrà visualizzata in inglese.Codice PHP:// determino la pagina dalla quale proviene l'utente
$pagina = basename($PHP_SELF);
// Metto l'url della pagina nel bottone di switch della lingua
echo "
<a href=\"lingua.php?lang=en&path=$pagina\"> English </a>
";
Il codice del redirect lo avevo già riportato, ma REPETITA IUVANT.
Fintanto che la variabile $path è del tipo xxx.php oppure xxx.php?var=valore non ho alcun problema, mentre se è del tipo xxx.php?var1=valore1&var2=valore2 , stampo il valore di $path in lingua.php, scopro che si è persa un pezzo per strada e mi è diventata del tipo xxx.php?var=valore .Codice PHP:// imposto il cookie
setcookie("lingua", "$lang");
// effettuo il redirect
if (!$path) {
header("Location: home.php");
} else {
header("Location: $path ");
}
Spero di essere riuscito a spiegarmi stavolta.... e spero pure che ci possa essere qualcuno che capisce dove è che sbaglio!
![]()

Rispondi quotando
VVoVe: Che idiota!!!!

