ad occhio mancherebbe una graffa di chiusura
Codice PHP:if($_SESSION['lang'] ) { require("{lang}.php");}
ad occhio mancherebbe una graffa di chiusura
Codice PHP:if($_SESSION['lang'] ) { require("{lang}.php");}
If you think your users are idiots, only idiots will use it. DropBox
ah forse non l'ho postata, ma comunque io ho messo questo codice sulla pagina ad esempio privati.php
e l'errore è il seguenteCodice PHP:<?php
session_start();
isset($_SESSION['lang']) { require("{$lang}.php"); }
?>
Parse error: syntax error, unexpected '{' in C:\xampp\htdocs\italianluxury\privati.php on line 3
e la linea 3 è appunto la linea dell'isset
e se levo la graffa dell'ìif e lascio quella del require l'erroree diventa quello che ho postato poco fa....
Codice PHP:<?php
session_start();
if(isset($_SESSION['lang'])) { require($_SESSION['lang'].".php");}
?>
If you think your users are idiots, only idiots will use it. DropBox
l'if non avevo messo -.- non ci sto più con la testa...
una domanda... tu hai fatto il require sulla session, ma una domanda... (comunque funziona e grazie) io adesso sono sulla pagina privati.php, e me la passa in italiano correttamente, ma se da essa vorrei andare nuovamente alla pagina index.php come dovrei fare? io nella index.php avevo mess così:
è sbagliato?Codice PHP:<?php
session_start();
isset($_GET['lang']) ? $lang = $_GET['lang'] : $lang = 'en';
$_SESSION['lang']=$lang;
?>
poi ho aggiunto dopo che ho dichiarato la sessione, l'if sulla sessione che mi hai postato tu però non funziona...
cioè cosa succede, allora
index.php
privati.phpCodice PHP:<?php
session_start();
isset($_GET['lang']) ? $lang = $_GET['lang'] : $lang = 'en';
$_SESSION['lang']=$lang;
if(isset($_SESSION['lang'])) { require($_SESSION['lang'].".php");}
?>
ora io apro il sito per la prima volta e mi trovo su index.php default inglese, siccome la pagina privati.php l'ho fatta solo in italiano per ora, cambio lingua dalla index.php e seleziono italianoCodice PHP:<?php
session_start();
if(isset($_SESSION['lang'])) { require($_SESSION['lang'].".php");}
?>
mi traduce la index.php in italiano e quindi se ne va su index.php?lang=itCodice PHP:[url='".$_SERVER[']"; ?>Italiano[/url]
dopodichè vado su privati.php
me la da corretta con traduzione in italiano
dopodichè da privati.php torno tramite un link sulla home quindi su index.php
ecco e qui me la dà nuovamente in inglese, come mai?
perchè tornando nella pagina principale perdi le info sul $_GET e quindi viene ripristinata la lingua di default.
$_GET interverrà solo se invocata mediante link
$_SESSION sarà SEMPRE "attiva" contenendo o il valore di default di $lang oppure quello di $_GET
quindi così dovresti risolvere:
->impostiamo la lingua di default nella session la quale non verrà persa navigando tra le varie pagine.
->ilcambio lingua avverrà solo ed esclusivamente invocando la $_GET inizializzando aggiornando $lang e quindi $_session
Codice PHP:session_start();
if (!isset ($_SESSION['lang'])) { $_SESSION['lang'] = 'it' ;}
isset($_GET['lang']) ? $lang = $_GET['lang'] : $lang = $_SESSION['lang'];
$_SESSION['lang'] = $lang;
If you think your users are idiots, only idiots will use it. DropBox
ho messo come mi hai detto tu ma non ho risolto nel senso che ora i link della pagina diciamo non me li legge più mi da errore di lettura sulla variabile del cambio di lingua...
l'ho appena testato con due pagine diverse e funziona correttamente
assicurati che nn ci siano errori e prova a postare i link ed il messaggio di errore che ricevi
Se posso.....
ciao
If you think your users are idiots, only idiots will use it. DropBox
ok ho messo il codice che hai detto tu su index.php
e ora quando apro index.php mi dice:
Notice: Undefined variable: lingua in C:\xampp\htdocs\italianluxury\index.php on line 19
Notice: Undefined variable: lingua in C:\xampp\htdocs\italianluxury\index.php on line 20
Notice: Undefined variable: lingua in C:\xampp\htdocs\italianluxury\index.php on line 21
Notice: Undefined variable: lingua in C:\xampp\htdocs\italianluxury\index.php on line 22
Notice: Undefined variable: lingua in C:\xampp\htdocs\italianluxury\index.php on line 23
allora queste linee equivalgono a:
cioè con il codice di prima non avbevo errori di lettura sulla variabile $lingua...Codice PHP:[*][url="index.php"]<?php echo $lingua['mb0']; ?>[/url][*][url="privati.php"]<?php echo $lingua['mb1']; ?>[/url][*][url="imprese.php"]<?php echo $lingua['mb2']; ?>[/url][*][url="traduzioni.php"]<?php echo $lingua['mb3']; ?>[/url][*][url="chisiamo.php"]<?php echo $lingua['mb4']; ?>[/url]
scusami, ma va da sè che il problema non è lo script per la gestione delle lingue.
Cosa rappresentano quelle variabili?
Nel codice da te inviato precedentemente non c'è ombra delle variabili in questione, o sbaglio?
Studiati il codice che ti ho consigliato ed adattalo, non è difficile
If you think your users are idiots, only idiots will use it. DropBox