Error in if statement

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
MLUN
Forum Newbie
Posts: 1
Joined: Mon Oct 20, 2008 8:08 am

Error in if statement

Post by MLUN »

I have now for six hours tried to find out why the below code gives "81" as country when it was supposed to give "204" (Switzerland). The browser language code being put into the code is "de-ch", so $code1 is "de" and $code2 is "ch".

It appears as if the execution stops after line 31, but why does it not pick "204" from line 33 when code2 is "ch"?

Hope someone could help on this :)

Code: Select all

function tep_get_country_by_language($country_code, $give_code = false) {
 
$code1 = substr($country_code,0,2);
$code2 = substr($country_code,3,2);
$country_name = '';
$ctry_code = '';
 
if ($code1 == "af") {$country_name = 'Africa';
} elseif ($code1 == "ar") {$country_name = 'Arabic';
if ($code2 == "ae") {$country_name = 'UAE'; $ctry_code = 221;}
if ($code2 == "bh") {$country_name = 'Bahrain';$ctry_code = 17;}
if ($code2 == "eg") {$country_name = 'Egypt';$ctry_code = 63;}
if ($code2 == "dz") {$country_name = 'Algeria';}
if ($code2 == "iq") {$country_name = 'Iraq';}
if ($code2 == "jo") {$country_name = 'Jordan';}
if ($code2 == "kw") {$country_name = 'Kuwait';$ctry_code = 114;}
if ($code2 == "lb") {$country_name = 'Lebanon';}
if ($code2 == "ly") {$country_name = 'Libya';}
if ($code2 == "ma") {$country_name = 'Morocco';}
if ($code2 == "om") {$country_name = 'Oman';}
if ($code2 == "qa") {$country_name = 'Qatar';}
if ($code2 == "sa") {$country_name = 'Saudi Arabia';$ctry_code = 184;}
if ($code2 == "sy") {$country_name = 'Syria';}
if ($code2 == "tn") {$country_name = 'Tunisia';}
if ($code2 == "ye") {$country_name = 'Yemen';}
} elseif ($code1 == "be") {$country_name = 'Belarusian';
} elseif ($code1 == "bg") {$country_name = 'Bulgarian';
} elseif ($code1 == "ca") {$country_name = 'Catalan';
} elseif ($code1 == "cs") {$country_name = 'Czech Republic';$ctry_code = 56;
} elseif ($code1 == "da") {$country_name = 'Denmark';$ctry_code = 57;
} elseif ($code1 == "de") {$country_name = 'Germany';$ctry_code = 81;
if ($code2 == "at") {$country_name = 'Austria';$ctry_code = 14;}
if ($code2 == "ch") {$country_name = 'Switzerland';$ctry_code = 204;}
if ($code2 == "li") {$country_name = 'Liechtenstein';$ctry_code = 122;}
if ($code2 == "lu") {$country_name = 'Luxembourg';$ctry_code = 124;}
} elseif ($code1 == "el") {$country_name = 'Greece';$ctry_code = 84;
} elseif ($code1 == "en") {$country_name = 'Other English';$ctry_code = 223;
if ($code2 == "us") {$country_name = 'USA';$ctry_code = 223;}
if ($code2 == "au") {$country_name = 'Australia';$ctry_code = 13;}
if ($code2 == "bz") {$country_name = 'Belize';}
if ($code2 == "ca") {$country_name = 'Canada';$ctry_code = 38;}
if ($code2 == "gb") {$country_name = 'UK';$ctry_code = 222;}
if ($code2 == "ie") {$country_name = 'Ireland';$ctry_code = 103;}
if ($code2 == "jm") {$country_name = 'Jamaica';}
if ($code2 == "nz") {$country_name = 'New Zealand';$ctry_code = 153;}
if ($code2 == "tt") {$country_name = 'Trinidad';}
if ($code2 == "za") {$country_name = 'South Africa';$ctry_code = 193;}
} elseif ($code1 == "es") {$country_name = 'Spain';$ctry_code = 195;
if ($code2 == "ar") {$country_name = 'Argentina';$ctry_code = 10;}
if ($code2 == "bo") {$country_name = 'Bolivia';}
if ($code2 == "cl") {$country_name = 'Chile';}
if ($code2 == "co") {$country_name = 'Colombia';}
if ($code2 == "cr") {$country_name = 'Costa Rica';}
if ($code2 == "do") {$country_name = 'Dominican';}
if ($code2 == "ec") {$country_name = 'Ecuador';}
if ($code2 == "gt") {$country_name = 'Guatemala';}
if ($code2 == "hn") {$country_name = 'Honduras';}
if ($code2 == "mx") {$country_name = 'Mexico';$ctry_code = 138;}
if ($code2 == "ni") {$country_name = 'Nicaragua';}
if ($code2 == "pa") {$country_name = 'Panama';}
if ($code2 == "pe") {$country_name = 'Peru';}
if ($code2 == "pr") {$country_name = 'Puerto Rico';}
if ($code2 == "py") {$country_name = 'Paraguay';}
if ($code2 == "sv") {$country_name = 'El Salvador';}
if ($code2 == "uy") {$country_name = 'Uruguay';}
if ($code2 == "ve") {$country_name = 'Venezuela';}
} elseif ($code1 == "et") {$country_name = 'Estonian';
} elseif ($code1 == "eu") {$country_name = 'Basque';
} elseif ($code1 == "fa") {$country_name = 'Farsi';
} elseif ($code1 == "fi") {$country_name = 'Finland';$ctry_code = 72;
} elseif ($code1 == "fo") {$country_name = 'Faeroes';
} elseif ($code1 == "fr") {$country_name = 'France';$ctry_code = 73;
if ($code2 == "be") {$country_name = 'Belgium';$ctry_code = 21;}
if ($code2 == "ca") {$country_name = 'Canada';$ctry_code = 38;}
if ($code2 == "ch") {$country_name = 'Switzerland';$ctry_code = 204;}
if ($code2 == "ca") {$country_name = 'Luxembourg';$ctry_code = 124;}
} elseif ($code1 == "gd") {$country_name = 'Scotland';$ctry_code = 222;
if ($code2 == "ie") {$country_name = 'Ireland';}
} elseif ($code1 == "he") {$country_name = 'Hebrew';
} elseif ($code1 == "hi") {$country_name = 'Hindi';
} elseif ($code1 == "hr") {$country_name = 'Croatian';
} elseif ($code1 == "hu") {$country_name = 'Hungarian';$ctry_code = 97;
} elseif ($code1 == "in") {$country_name = 'Indonesian';$ctry_code = 100;
} elseif ($code1 == "is") {$country_name = 'Icelandic';$ctry_code = 98;
} elseif ($code1 == "he") {$country_name = 'Hebrew';$ctry_code = 104;
} elseif ($code1 == "it") {$country_name = 'Italy';$ctry_code = 105;
if ($code2 == "ch") {$country_name = 'Switzerland';$ctry_code = 204;}
} elseif ($code1 == "ja") {$country_name = 'Japan';$ctry_code = 107;
} elseif ($code1 == "ji") {$country_name = 'Yiddish';$ctry_code = 104;
} elseif ($code1 == "ko") {$country_name = 'Korea';
} elseif ($code1 == "lt") {$country_name = 'Lithuania';
} elseif ($code1 == "lv") {$country_name = 'Latvian';
} elseif ($code1 == "mk") {$country_name = 'Macedonia';
} elseif ($code1 == "ms") {$country_name = 'Malaysia';$ctry_code = 129;
} elseif ($code1 == "mt") {$country_name = 'Malta';$ctry_code = 132;
} elseif ($code1 == "nl") {$country_name = 'Netherlands';$ctry_code = 150;
if ($code2 == "be") {$country_name = 'Belgium';$ctry_code = 21;}
} elseif ($code1 == "no") {$country_name = 'Norway';$ctry_code = 160;
} elseif ($code1 == "pl") {$country_name = 'Poland';$ctry_code = 170;
} elseif ($code1 == "pt") {$country_name = 'Portugual';$ctry_code = 171;
if ($code2 == "br") {$country_name = 'Brazil';$ctry_code = 30;}
} elseif ($code1 == "rm") {$country_name = 'Romania';
} elseif ($code1 == "ro") {$country_name = 'Romania';
} elseif ($code1 == "ru") {$country_name = 'Russia';
} elseif ($code1 == "sb") {$country_name = 'Sorbian';
} elseif ($code1 == "sk") {$country_name = 'Slovak';
} elseif ($code1 == "sl") {$country_name = 'Slovenian';
} elseif ($code1 == "sq") {$country_name = 'Albania';
} elseif ($code1 == "sr") {$country_name = 'Serbia';
} elseif ($code1 == "sv") {$country_name = 'Sweden';$ctry_code = 203;
if ($code2 == "fi") {$country_name = 'Finland';$ctry_code = 72;}
} elseif ($code1 == "sx") {$country_name = 'Sutu';
} elseif ($code1 == "sz") {$country_name = 'Sami';
} elseif ($code1 == "tn") {$country_name = 'Tswana';
} elseif ($code1 == "tr") {$country_name = 'Turkey';
} elseif ($code1 == "ts") {$country_name = 'Tsonga';
} elseif ($code1 == "uk") {$country_name = 'Ukrainian';
} elseif ($code1 == "th") {$country_name = 'Thailand';$ctry_code = 209;
} elseif ($code1 == "ur") {$country_name = 'Urdu';
} elseif ($code1 == "ve") {$country_name = 'Venda';
} elseif ($code1 == "vi") {$country_name = 'Vietnam';
} elseif ($code1 == "xh") {$country_name = 'Xhosa';
} elseif ($code1 == "zh") {$country_name = 'China';$ctry_code = 44;
if ($code2 == "cn") {$country_name = 'China';$ctry_code = 44;}
if ($code2 == "hk") {$country_name = 'Hong Kong';$ctry_code = 96;}
if ($code2 == "sg") {$country_name = 'Singapore';$ctry_code = 188;}
if ($code2 == "tw") {$country_name = 'Taiwan';$ctry_code = 206;}
} elseif ($code1 == "zu") {$country_name = 'Zulu';}
 
// if all fails just return a default value
if ($country_name == '') {$country_name = 'Taiwan';}
if ($ctry_code == '') {$ctry_code = '206';}
 
if ($give_code) {
return ($ctry_code);
} else {
return ($country_name);
}
}
User avatar
onion2k
Jedi Mod
Posts: 5263
Joined: Tue Dec 21, 2004 5:03 pm
Location: usrlab.com

Re: Error in if statement

Post by onion2k »

Look up switch() in the PHP manual.
Post Reply