Eroare include fisier in functie de valoare din URL

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
alexinio3d
Mesaje:96

Eroare include fisier in functie de valoare din URL

Salutare.
Am un script facut de mine care ii in mai multe limbi ( romana, engleza, germana si franceza ) si cand cineva intra pe site si nu are scris in link bucata lang=ro / lang=eng / lang=d / lang=f atunci imi da urmatoarele erori :

Cod: Selectaţi tot

[19-Mar-2014 10:43:21 Europe/Helsinki] PHP Warning:  include_once(/home/treisute/public_html/silvoproject.ro/lang): failed to open stream: No such file or directory in /home/treisute/public_html/silvoproject.ro/include.php on line 17
[19-Mar-2014 10:43:21 Europe/Helsinki] PHP Warning:  include_once(): Failed opening '/home/*****/public_html/*****/lang/' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/*****/public_html/*****/include.php on line 17
[19-Mar-2014 10:43:21 Europe/Helsinki] PHP Notice:   in /home/*****/public_html/*****/core/meniu.inc.php on line 15
[19-Mar-2014 10:43:21 Europe/Helsinki] PHP Notice:   in /home/*****/public_html/*****/core/categorii.inc.php on line 35
[19-Mar-2014 10:43:21 Europe/Helsinki] PHP Notice:   in /home/*****/public_html/*****/core/index.inc.php on line 13
Acestea sunt randurile unde-mi da eroare :
include.php on line 17

Cod: Selectaţi tot

include_once($locatia."lang/".$filelang[$table_lang]); 
unde $filelang[$table_lang] ii array-ul :

Cod: Selectaţi tot

$filelang = array('ro'=>'romana.php', 'eng'=>'engleza.php', 'd'=>'germana.php', 'f'=>'franceza.php'); 
iar $table_lang vine setat din if-ul urmator :

Cod: Selectaţi tot

if(isset($_GET['lang'])){
    $lang = "?lang=".$QuerySetting->convert($_GET['lang']);
    $table_lang = $QuerySetting->convert($_GET['lang']);
}else{
    $lang = "?lang=eng";
    $table_lang = "eng";
} 
Si randurile

Cod: Selectaţi tot

[19-Mar-2014 10:43:21 Europe/Helsinki] PHP Notice:   in /home/treisute/public_html/silvoproject.ro/core/meniu.inc.php on line 15
[19-Mar-2014 10:43:21 Europe/Helsinki] PHP Notice:   in /home/treisute/public_html/silvoproject.ro/core/categorii.inc.php on line 35
[19-Mar-2014 10:43:21 Europe/Helsinki] PHP Notice:   in /home/treisute/public_html/silvoproject.ro/core/index.inc.php on line 13
Imi dau eroare de la tabelele care tin de limba setata ( adica lang=LIMBA ).
Acuma vine intrebarea :
Cum trebuie sa fac setarea atunci cand nu-i setat get-ul lang sa-mi serveasca tabelele care sunt in limba, ca de acolo vin si erorile. De la functia if care imi arata ce limba ii setata.

Mersi anticipat .
Siteuri create / configurate de mine :
SilvoProject.Ro ( Magazin Online ) : SilvoProject.Ro
TreiSute.Ro ( Comunitate de gaming ) : TreiSute.Ro

MarPlo Mesaje:4343
Salut
Dupa cum e codul la acel if() ... else cu $_GET['lang'] ar trebui sa seteze "eng" daca nu e "lang" in adresa URL. Nu stiu de ce nu merge; posibil de la ordinea in care sunt scrise.
Incearca cu acest cod:

Cod: Selectaţi tot

$_GET['lang'] = (isset($_GET['lang']) && in_array($_GET['lang'], array('ro', 'eng', 'd', 'f')) ? $_GET['lang'] : 'eng';
$lang = '?lang='. $_GET['lang'];
$table_lang = $_GET['lang'];
 
Acest cod trebuie inainte de "include()".

alexinio3d Mesaje:96
Acuma merge cu ce miai dat.
Mersi pentru ajutor .
Siteuri create / configurate de mine :
SilvoProject.Ro ( Magazin Online ) : SilvoProject.Ro
TreiSute.Ro ( Comunitate de gaming ) : TreiSute.Ro

Subiecte similare