Hallo,
seit ich auf einen neuen Server umgezogen bin, werden in manchen Scripts nicht alle definierten Variablen übernommen.
Beispiel: ich habe das Script phpYellow laufen, in dem die Sprache des Browsers ausgelesen wird:
Somit sollte also aus ("lang_" . $langSelected . ".php") folgendes werden: ("lang_deutsch.php").
Beim Aufrufen der Seite kommt aber lediglich folgende Fehlermeldung:
Man kann also sehen, dass die ausgelesene Variable $langSelected einfach in der Ausgabe fehlt.
Kann mir jemand sagen, ob ich in der Serverkonfiguration noch etwas aktivieren muss? Habe einen Debian 4.0 Apache Server.
Vielen Dank!
seit ich auf einen neuen Server umgezogen bin, werden in manchen Scripts nicht alle definierten Variablen übernommen.
Beispiel: ich habe das Script phpYellow laufen, in dem die Sprache des Browsers ausgelesen wird:
PHP:
$langTab = array (
"de"=>"Deutsch",
"en"=>"English",
"es"=>"Español",
"fr"=>"Français",
"it"=>"Italiano",
"pt"=>"Português brazilian",
"ru"=>"Russian"
) ;
// end LANGUAGES DEFINITION section
// do NOT change the rest of LOCALE MANAGEMENT underneath
//if no choice was previously done by the visitor, OR he refused the cookie
if (!isset($langSelected)):
//retrieve browser language
$BrowserLangs = explode(",", $HTTP_ACCEPT_LANGUAGE); //might not work if you're not on an Apache server
$BrowserLang1 = $BrowserLangs[0] ; // now we know the browser's favourite language
//now let's remove subtags if any
$BrowserLang1 = explode("-", $BrowserLang1);
$BrowserLang1 = $BrowserLang1[0] ;
//and finally see if it's know to our LANGUAGES DEFINITION section
$langSelected = $langTab[$BrowserLang1] ;
//if not, lets use the site default language defined in the util.php file
if (!isset($langSelected)) $langSelected = $langDefault ;
//and lets write the final result in a cookie to remember it
setcookie("langSelected" , $langSelected);
endif;
//if a change has been done through language_select.php, it overwrites the stuff above
if(isset($langSelected2)):
$langSelected = $langSelected2;
setcookie("langSelected" , $langSelected2);
endif;
//finally, lets call the chosen language strings
include(strtolower ("lang_" . $langSelected . ".php")) ;
Somit sollte also aus ("lang_" . $langSelected . ".php") folgendes werden: ("lang_deutsch.php").
Beim Aufrufen der Seite kommt aber lediglich folgende Fehlermeldung:
Warning: include(lang_.php) [function.include]: failed to open stream: No such file or directory in /var/www/web3/html/phpYellow/languages.php on line 55
Warning: include() [function.include]: Failed opening 'lang_.php' for inclusion (include_path='.') in /var/www/web3/html/phpYellow/languages.php on line 55
Man kann also sehen, dass die ausgelesene Variable $langSelected einfach in der Ausgabe fehlt.
Kann mir jemand sagen, ob ich in der Serverkonfiguration noch etwas aktivieren muss? Habe einen Debian 4.0 Apache Server.
Vielen Dank!