24. juli 2005 - 16:18
Der er
10 kommentarer og 1 løsning
Script virker ikke efter flytning - måske noget med global?
Har dette script som omdanner browsersprog til hele ord, fx. da til dansk, osv. Scriptet har virket fint, men efter flytning fra privat server til b-one virker det ikke mere. Ved ikke så meget om php, men måske er det noget med brugen af 'global'? Kan det reddes? Scriptet: <?php function getCountry() { // Call with $land = getCountry(); // echo "$land" global $HTTP_ACCEPT_LANGUAGE; $countrylist = array( "eu" => "Baskisk", "bg" => "Bulgarsk", "ca" => "Katalansk", "cs" => "Tjekkisk", "cy" => "Walisisk", "en" => "Engelsk", "en-us" => "Engelsk-US", "en-gb" => "Engelsk-UK", "da" => "Dansk", "nl" =>"Hollansk", "ee" => "Estisk", "fi" =>"Finsk", "fr" =>"Fransk", "fr-ch" =>"Fransk - ch", // French/Swiss "fr-ca" =>"Fransk - ca", // French/Canada "gl" => "Galisisk", "de" =>"Tysk", "de-at" =>"Tysk - at", // German/Austria "de-ch" =>"Tysk - ch", // German/Switzerland "de-de" =>"Tysk", // German/German "es" =>"Spansk", "hu" => "Ungarsk", "is" => "Islandsk", "it" => "Italiensk", "it-ch" => "Italiensk - ch", // Italian/Switzerland "ja" => "Japansk", "ko" =>"Koreansk", "no" => "Norsk", "pl" => "Polsk", "pt" =>"Portugisisk", "pt-br" => "Portugisisk - br", // Portuguese/Brazil "ru" =>"Russisk", "sl" =>"Slovakisk", "sr" =>"Serbisk", "sv" =>"Svensk", "tr" =>"Tyrkisk", "zh" => "Kinesisk simp.", // Simplified Chinese "zh-cn" => "Kinesisk simp.", "zh-tw" => "Kinesisk Trad."); // Traditional Chinese foreach ($countrylist as $key => $value) { if ($key == $HTTP_ACCEPT_LANGUAGE) { return $value; } else if($countrylist[$HTTP_ACCEPT_LANGUAGE]){ return $countrylist[$HTTP_ACCEPT_LANGUAGE]; } else { return $_SERVER['HTTP_ACCEPT_LANGUAGE'];// } } } $lang = getCountry(); ?> Mvh.
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
jeg tror ikke det er din global, gir den slet ingen fejl?
Det giver ingen fejl, men skriver blot 'da' i stedet for 'dansk' som den plejer...
hvad nu hvis du retter den til sådan her foreach ($countrylist as $key => $value) { til foreach ($countrylist as $value => $key) {
Det ændrer ikke noget, desværre...
hvad siger den hvis du skriver echo $_SERVER['HTTP_ACCEPT_LANGUAGE']; et sted på din side
det siger meget :) $HTTP_ACCEPT_LANGUAGE = $_SERVER['HTTP_ACCEPT_LANGUAGE']; <?php function getCountry() { // Call with $land = getCountry(); // echo "$land" global $HTTP_ACCEPT_LANGUAGE; $countrylist = array( "eu" => "Baskisk", "bg" => "Bulgarsk", "ca" => "Katalansk", "cs" => "Tjekkisk", "cy" => "Walisisk", "en" => "Engelsk", "en-us" => "Engelsk-US", "en-gb" => "Engelsk-UK", "da" => "Dansk", "nl" =>"Hollansk", "ee" => "Estisk", "fi" =>"Finsk", "fr" =>"Fransk", "fr-ch" =>"Fransk - ch", // French/Swiss "fr-ca" =>"Fransk - ca", // French/Canada "gl" => "Galisisk", "de" =>"Tysk", "de-at" =>"Tysk - at", // German/Austria "de-ch" =>"Tysk - ch", // German/Switzerland "de-de" =>"Tysk", // German/German "es" =>"Spansk", "hu" => "Ungarsk", "is" => "Islandsk", "it" => "Italiensk", "it-ch" => "Italiensk - ch", // Italian/Switzerland "ja" => "Japansk", "ko" =>"Koreansk", "no" => "Norsk", "pl" => "Polsk", "pt" =>"Portugisisk", "pt-br" => "Portugisisk - br", // Portuguese/Brazil "ru" =>"Russisk", "sl" =>"Slovakisk", "sr" =>"Serbisk", "sv" =>"Svensk", "tr" =>"Tyrkisk", "zh" => "Kinesisk simp.", // Simplified Chinese "zh-cn" => "Kinesisk simp.", "zh-tw" => "Kinesisk Trad."); // Traditional Chinese foreach ($countrylist as $key => $value) { if ($key == $HTTP_ACCEPT_LANGUAGE) { return $value; } else if($countrylist[$HTTP_ACCEPT_LANGUAGE]){ return $countrylist[$HTTP_ACCEPT_LANGUAGE]; } else { return $_SERVER['HTTP_ACCEPT_LANGUAGE'];// } } } $lang = getCountry(); ?>
der er intet galt med funktionen, problemmet er at globals er til at hente en variabel uden for din funktion. :)
$HTTP_ACCEPT_LANGUAGE = $_SERVER['HTTP_ACCEPT_LANGUAGE']; skal selføgelig være inde under <?php men over funktionen
24. juli 2005 - 17:42
#10
Det virker! Tak for hjælpen. Læg et svar. Så ved jeg det om global. :-)
24. juli 2005 - 17:49
#11
hehe jeg lærte det faktisk selv idag :)
Vi tilbyder markedets bedste kurser inden for webudvikling