Ciao
ho creato un sito multilingue (italiano,francese,inglese,tedesco). Nella pagina index.php ad inizio pagina ho inserito il seguente codice per creare una sessione e settare la lingua come italiano:
Come vedete, sempre nella stessa porzione di codice ho inserito anche il controllo della sessione (non so se ho fatto bene).<?php
session_start();
$lingua = "Italiano";
$_SESSION['lingua'] = $lingua;
include("include/check_session.php");
?>
Il cui codice é:
Nella pagina, ho inserito delle bandierine con i link in modo che l'utente cliccando sulla bandierina possa cambiare lingua, in questo modo:<?php
session_start();
if(!isset($_SESSION['lingua']))
{
$_SESSION['lingua'] = "Italiano";
}
?>
Questo é il file changelanguate.php che prende le variabili tramite il GET e fa il redirect della pagina:<div id="it">[img]img/it.png[/img]</div>
<div id="uk">[img]img/uk.png[/img]</div>
<div id="fr">[img]img/fr.png[/img]</div>
<div id="de">[img]img/de.png[/img]</div>
Il problema é che la lingua caricata é sempre l'italiano, quella che ho messo io all'inizio quando creo la sessione..<?php
$lingua = $_GET['language'];
$url = $_GET['url'];
$_SESSION['lingua'] = "$lingua";
header("Location: $url");
?>
questa invece é la query che carica la pagina:
Credo, ovviamente, di aver sbagliato qualcosa nelle sessioni, o di dimenticare qualche passsaggio.. chiedo lumi, please :-)<?php
include("include/connect.php");
$html = array();
$sql=mysql_query("SELECT scheda.id,
scheda.testo,
scheda.sezione_id,
scheda.pagina_id,
scheda.lingua_id,
lingue.lingua AS lingua,
sezione.nome AS sezione,
pagina.genere AS pagina
FROM scheda
LEFT JOIN sezione ON sezione.id = scheda.sezione_id
LEFT JOIN pagina ON pagina.id = scheda.pagina_id
LEFT JOIN lingue ON lingue.id = scheda.lingua_id
WHERE scheda.sezione_id = ('1')
AND lingua = ('$lingua')
ORDER BY scheda.id DESC")
or die(mysql_error());
while($row = mysql_fetch_array($sql))
{
$html[] = $row['id'];
$html[] = $row['testo'];
$html[] = $row['pagina_id'];
$html[] = $row['sezione_id'];
$html[] = $row['lingua_id'];
}
echo("$html[1]");
?>