Copy this code and paste it in your HTML
<?php
// ISO_3166-2
array ( 'AD' , 'Andorra' , 'Ðндорра' ) , array ( 'AE' , 'United Arab Emirates' , 'Объединённые ÐрабÑкие Ðмираты' ) , array ( 'AF' , 'Afghanistan' , 'ÐфганиÑтан' ) , array ( 'AG' , 'Antigua and Barbuda' , 'Ðнтигуа и Барбуда' ) , array ( 'AI' , 'Anguilla' , 'ÐнгильÑ' ) , array ( 'AL' , 'Albania' , 'ÐлбаниÑ' ) , array ( 'AM' , 'Armenia' , 'ÐрмениÑ' ) , array ( 'AN' , 'Netherlands Antilles' , 'ÐидерландÑкие Ðнтилы' ) , array ( 'AO' , 'Angola' , 'Ðнгола' ) , array ( 'AQ' , 'Antarctica' , 'Ðнтарктида' ) , array ( 'AR' , 'Argentina' , 'Ðргентина' ) , array ( 'AS' , 'American Samoa' , 'ÐмериканÑкое Самоа' ) , array ( 'AT' , 'Austria' , 'ÐвÑтриÑ' ) , array ( 'AU' , 'Australia' , 'ÐвÑтралиÑ' ) , array ( 'AW' , 'Aruba' , 'Ðруба' ) , array ( 'AX' , 'Aland Islands' , 'ÐландÑкие оÑтрова' ) , array ( 'AZ' , 'Azerbaijan' , 'Ðзербайджан' ) , array ( 'BA' , 'Bosnia and Herzegovina' , 'БоÑÐ½Ð¸Ñ Ð¸ Герцеговина' ) , array ( 'BB' , 'Barbados' , 'БарбадоÑ' ) , array ( 'BD' , 'Bangladesh' , 'Бангладеш' ) , array ( 'BE' , 'Belgium' , 'БельгиÑ' ) , array ( 'BF' , 'Burkina Faso' , 'Буркина ФаÑо' ) , array ( 'BG' , 'Bulgaria' , 'БолгариÑ' ) , array ( 'BH' , 'Bahrain' , 'Бахрейн' ) , array ( 'BI' , 'Burundi' , 'Бурунди' ) , array ( 'BJ' , 'Benin' , 'Бенин' ) , array ( 'BL' , 'Saint Barthelemy' , 'Сен-Бартельми' ) , array ( 'BM' , 'Bermuda' , 'Бермуды' ) , array ( 'BN' , 'Brunei' , 'Бруней' ) , array ( 'BO' , 'Bolivia' , 'БоливиÑ' ) , array ( 'BR' , 'Brazil' , 'БразилиÑ' ) , array ( 'BS' , 'Bahamas' , 'Багамы' ) , array ( 'BT' , 'Bhutan' , 'Бутан' ) , array ( 'BV' , 'Bouvet Island' , 'ОÑтров Буве' ) , array ( 'BW' , 'Botswana' , 'БотÑвана' ) , array ( 'BY' , 'Belarus' , 'БеларуÑÑŒ' ) , array ( 'BZ' , 'Belize' , 'Белиз' ) , array ( 'CA' , 'Canada' , 'Канада' ) , array ( 'CC' , 'Cocos (Keeling) Islands' , 'КокоÑовые (Килинг) оÑтрова' ) , array ( 'CD' , 'Congo (Democratic Republic)' , 'Конго (ДемократичеÑÐºÐ°Ñ Ð ÐµÑпублика)' ) , array ( 'CF' , 'Central African Republic' , 'ЦентральноафриканÑÐºÐ°Ñ Ð ÐµÑпублика' ) , array ( 'CG' , 'Congo' , 'Конго' ) , array ( 'CH' , 'Switzerland' , 'ШвейцариÑ' ) , array ( 'CI' , 'Cote d’Ivoire' , 'Кот-д’Ивуар' ) , array ( 'CK' , 'Cook Islands' , 'ОÑтрова Кука' ) , array ( 'CL' , 'Chile' , 'Чили' ) , array ( 'CM' , 'Cameroon' , 'Камерун' ) , array ( 'CN' , 'China' , 'Китай' ) , array ( 'CO' , 'Colombia' , 'КолумбиÑ' ) , array ( 'CR' , 'Costa Rica' , 'КоÑта-Рика' ) , array ( 'CU' , 'Cuba' , 'Куба' ) , array ( 'CV' , 'Cape Verde' , 'Кабо-Верде' ) , array ( 'CX' , 'Christmas Island' , 'ОÑтров РождеÑтва' ) , array ( 'CY' , 'Cyprus' , 'Кипр' ) , array ( 'CZ' , 'Czech Republic' , 'ЧехиÑ' ) , array ( 'DE' , 'Germany' , 'ГерманиÑ' ) , array ( 'DJ' , 'Djibouti' , 'Джибути' ) , array ( 'DK' , 'Denmark' , 'ДаниÑ' ) , array ( 'DM' , 'Dominica' , 'Доминика' ) , array ( 'DO' , 'Dominican Republic' , 'ДоминиканÑÐºÐ°Ñ Ð ÐµÑпублика' ) , array ( 'DZ' , 'Algeria' , 'Ðлжир' ) , array ( 'EC' , 'Ecuador' , 'Ðквадор' ) , array ( 'EE' , 'Estonia' , 'ÐÑтониÑ' ) , array ( 'EG' , 'Egypt' , 'Египет' ) , array ( 'EH' , 'Western Sahara' , 'Ð—Ð°Ð¿Ð°Ð´Ð½Ð°Ñ Ð¡Ð°Ñ…Ð°Ñ€Ð°' ) , array ( 'ER' , 'Eritrea' , 'ÐритреÑ' ) , array ( 'ES' , 'Spain' , 'ИÑпаниÑ' ) , array ( 'ET' , 'Ethiopia' , 'ÐфиопиÑ' ) , array ( 'EU' , 'European Union' , 'ЕвроÑоюз' ) , array ( 'FI' , 'Finland' , 'ФинлÑндиÑ' ) , array ( 'FJ' , 'Fiji' , 'Фиджи' ) , array ( 'FK' , 'Falkland Islands (Malvinas)' , 'ФолклендÑкие оÑтрова (МальвинÑкие)' ) , array ( 'FM' , 'Micronesia' , 'МикронезиÑ' ) , array ( 'FO' , 'Faroe Islands' , 'ФарерÑкие оÑтрова' ) , array ( 'FR' , 'France' , 'ФранциÑ' ) , array ( 'GA' , 'Gabon' , 'Габон' ) , array ( 'GB' , 'United Kingdom' , 'ВеликобританиÑ' ) , array ( 'GD' , 'Grenada' , 'Гренада' ) , array ( 'GE' , 'Georgia' , 'ГрузиÑ' ) , array ( 'GF' , 'French Guiana' , 'ФранцузÑÐºÐ°Ñ Ð“Ð²Ð¸Ð°Ð½Ð°' ) , array ( 'GG' , 'Guernsey' , 'ГернÑи' ) , array ( 'GH' , 'Ghana' , 'Гана' ) , array ( 'GI' , 'Gibraltar' , 'Гибралтар' ) , array ( 'GL' , 'Greenland' , 'ГренландиÑ' ) , array ( 'GM' , 'Gambia' , 'ГамбиÑ' ) , array ( 'GN' , 'Guinea' , 'ГвинеÑ' ) , array ( 'GP' , 'Guadeloupe' , 'Гваделупа' ) , array ( 'GQ' , 'Equatorial Guinea' , 'ÐÐºÐ²Ð°Ñ‚Ð¾Ñ€Ð¸Ð°Ð»ÑŒÐ½Ð°Ñ Ð“Ð²Ð¸Ð½ÐµÑ' ) , array ( 'GR' , 'Greece' , 'ГрециÑ' ) , array ( 'GS' , 'South Georgia and the South Sandwich Islands' , 'Ð®Ð¶Ð½Ð°Ñ Ð”Ð¶Ð¾Ñ€Ð´Ð¶Ð¸Ñ Ð¸ Южные Сандвичевы оÑтрова' ) , array ( 'GT' , 'Guatemala' , 'Гватемала' ) , array ( 'GU' , 'Guam' , 'Гуам' ) , array ( 'GW' , 'Guinea-Bissau' , 'ГвинеÑ-БиÑау' ) , array ( 'GY' , 'Guyana' , 'Гайана' ) , array ( 'HK' , 'Hong Kong' , 'Гонконг' ) , array ( 'HM' , 'Heard Island and McDonald Islands' , 'ОÑтров Херд и оÑтрова Макдональд' ) , array ( 'HN' , 'Honduras' , 'ГондураÑ' ) , array ( 'HR' , 'Croatia' , 'ХорватиÑ' ) , array ( 'HT' , 'Haiti' , 'Гаити' ) , array ( 'HU' , 'Hungary' , 'ВенгриÑ' ) , array ( 'ID' , 'Indonesia' , 'ИндонезиÑ' ) , array ( 'IE' , 'Ireland' , 'ИрландиÑ' ) , array ( 'IL' , 'Israel' , 'Израиль' ) , array ( 'IM' , 'Isle of Man' , 'ОÑтров ÐœÑн' ) , array ( 'IN' , 'India' , 'ИндиÑ' ) , array ( 'IO' , 'British Indian Ocean Territory' , 'БританÑÐºÐ°Ñ Ñ‚ÐµÑ€Ñ€Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Ð² ИндийÑком океане' ) , array ( 'IQ' , 'Iraq' , 'Ирак' ) , array ( 'IR' , 'Iran' , 'Иран' ) , array ( 'IS' , 'Iceland' , 'ИÑландиÑ' ) , array ( 'IT' , 'Italy' , 'ИталиÑ' ) , array ( 'JE' , 'Jersey' , 'ДжерÑи' ) , array ( 'JM' , 'Jamaica' , 'Ямайка' ) , array ( 'JO' , 'Jordan' , 'ИорданиÑ' ) , array ( 'JP' , 'Japan' , 'ЯпониÑ' ) , array ( 'KE' , 'Kenya' , 'КениÑ' ) , array ( 'KG' , 'Kyrgyzstan' , 'КиргизиÑ' ) , array ( 'KH' , 'Cambodia' , 'Камбоджа' ) , array ( 'KI' , 'Kiribati' , 'Кирибати' ) , array ( 'KM' , 'Comoros' , 'Коморы' ) , array ( 'KN' , 'Saint Kitts and Nevis' , 'Сент-ÐšÐ¸Ñ‚Ñ Ð¸ ÐевиÑ' ) , array ( 'KP' , 'North Korea' , 'Ð¡ÐµÐ²ÐµÑ€Ð½Ð°Ñ ÐšÐ¾Ñ€ÐµÑ' ) , array ( 'KR' , 'South Korea' , 'Ð®Ð¶Ð½Ð°Ñ ÐšÐ¾Ñ€ÐµÑ' ) , array ( 'KW' , 'Kuwait' , 'Кувейт' ) , array ( 'KY' , 'Cayman Islands' , 'ОÑтрова Кайман' ) , array ( 'KZ' , 'Kazakhstan' , 'КазахÑтан' ) , array ( 'LA' , 'Laos' , 'ЛаоÑ' ) , array ( 'LB' , 'Lebanon' , 'Ливан' ) , array ( 'LC' , 'Saint Lucia' , 'Сент-ЛюÑиÑ' ) , array ( 'LI' , 'Liechtenstein' , 'Лихтенштейн' ) , array ( 'LK' , 'Sri Lanka' , 'Шри-Ланка' ) , array ( 'LR' , 'Liberia' , 'ЛибериÑ' ) , array ( 'LS' , 'Lesotho' , 'ЛеÑото' ) , array ( 'LT' , 'Lithuania' , 'Литва' ) , array ( 'LU' , 'Luxembourg' , 'ЛюкÑембург' ) , array ( 'LV' , 'Latvia' , 'ЛатвиÑ' ) , array ( 'LY' , 'Libya' , 'ЛивиÑ' ) , array ( 'MA' , 'Morocco' , 'Марокко' ) , array ( 'MC' , 'Monaco' , 'Монако' ) , array ( 'MD' , 'Moldova' , 'Молдова' ) , array ( 'ME' , 'Montenegro' , 'ЧерногориÑ' ) , array ( 'MF' , 'Saint Martin' , 'ОÑтров СвÑтого Мартина' ) , array ( 'MG' , 'Madagascar' , 'МадагаÑкар' ) , array ( 'MH' , 'Marshall Islands' , 'Маршалловы оÑтрова' ) , array ( 'MK' , 'Macedonia' , 'МакедониÑ' ) , array ( 'ML' , 'Mali' , 'Мали' ) , array ( 'MM' , 'Myanmar' , 'МьÑнма' ) , array ( 'MN' , 'Mongolia' , 'МонголиÑ' ) , array ( 'MO' , 'Macao' , 'Макао' ) , array ( 'MP' , 'Northern Mariana Islands' , 'Северные МарианÑкие оÑтрова' ) , array ( 'MQ' , 'Martinique' , 'Мартиника' ) , array ( 'MR' , 'Mauritania' , 'МавританиÑ' ) , array ( 'MS' , 'Montserrat' , 'МонтÑеррат' ) , array ( 'MT' , 'Malta' , 'Мальта' ) , array ( 'MU' , 'Mauritius' , 'Маврикий' ) , array ( 'MV' , 'Maldives' , 'Мальдивы' ) , array ( 'MW' , 'Malawi' , 'Малави' ) , array ( 'MX' , 'Mexico' , 'МекÑика' ) , array ( 'MY' , 'Malaysia' , 'МалайзиÑ' ) , array ( 'MZ' , 'Mozambique' , 'Мозамбик' ) , array ( 'NA' , 'Namibia' , 'ÐамибиÑ' ) , array ( 'NC' , 'New Caledonia' , 'ÐÐ¾Ð²Ð°Ñ ÐšÐ°Ð»ÐµÐ´Ð¾Ð½Ð¸Ñ' ) , array ( 'NE' , 'Niger' , 'Ðигер' ) , array ( 'NF' , 'Norfolk Island' , 'ОÑтров Ðорфолк' ) , array ( 'NG' , 'Nigeria' , 'ÐигериÑ' ) , array ( 'NI' , 'Nicaragua' , 'Ðикарагуа' ) , array ( 'NL' , 'Netherlands' , 'Ðидерланды' ) , array ( 'NO' , 'Norway' , 'ÐорвегиÑ' ) , array ( 'NP' , 'Nepal' , 'Ðепал' ) , array ( 'NR' , 'Nauru' , 'Ðауру' ) , array ( 'NU' , 'Niue' , 'ÐиуÑ' ) , array ( 'NZ' , 'New Zealand' , 'ÐÐ¾Ð²Ð°Ñ Ð—ÐµÐ»Ð°Ð½Ð´Ð¸Ñ' ) , array ( 'OM' , 'Oman' , 'Оман' ) , array ( 'PA' , 'Panama' , 'Панама' ) , array ( 'PE' , 'Peru' , 'Перу' ) , array ( 'PF' , 'French Polynesia' , 'ФранцузÑÐºÐ°Ñ ÐŸÐ¾Ð»Ð¸Ð½ÐµÐ·Ð¸Ñ' ) , array ( 'PG' , 'Papua New Guinea' , 'Папуа-ÐÐ¾Ð²Ð°Ñ Ð“Ð²Ð¸Ð½ÐµÑ' ) , array ( 'PH' , 'Philippines' , 'Филиппины' ) , array ( 'PK' , 'Pakistan' , 'ПакиÑтан' ) , array ( 'PL' , 'Poland' , 'Польша' ) , array ( 'PM' , 'Saint Pierre and Miquelon' , 'Сен-Пьер и Микелон' ) , array ( 'PN' , 'Pitcairn' , 'Питкерн' ) , array ( 'PR' , 'Puerto Rico' , 'ПуÑрто-Рико' ) , array ( 'PS' , 'Palestinian Territory' , 'ПалеÑтинÑÐºÐ°Ñ Ð°Ð²Ñ‚Ð¾Ð½Ð¾Ð¼Ð¸Ñ' ) , array ( 'PT' , 'Portugal' , 'ПортугалиÑ' ) , array ( 'PW' , 'Palau' , 'Палау' ) , array ( 'PY' , 'Paraguay' , 'Парагвай' ) , array ( 'QA' , 'Qatar' , 'Катар' ) , array ( 'RE' , 'Reunion' , 'Реюньон' ) , array ( 'RO' , 'Romania' , 'РумыниÑ' ) , array ( 'RS' , 'Serbia' , 'СербиÑ' ) , array ( 'RU' , 'Russian Federation' , 'РоÑÑиÑ' ) , array ( 'RW' , 'Rwanda' , 'Руанда' ) , array ( 'SA' , 'Saudi Arabia' , 'СаудовÑÐºÐ°Ñ ÐравиÑ' ) , array ( 'SB' , 'Solomon Islands' , 'Соломоновы оÑтрова' ) , array ( 'SC' , 'Seychelles' , 'Сейшелы' ) , array ( 'SD' , 'Sudan' , 'Судан' ) , array ( 'SE' , 'Sweden' , 'ШвециÑ' ) , array ( 'SG' , 'Singapore' , 'Сингапур' ) , array ( 'SH' , 'Saint Helena' , 'СвÑÑ‚Ð°Ñ Ð•Ð»ÐµÐ½Ð°' ) , array ( 'SI' , 'Slovenia' , 'СловениÑ' ) , array ( 'SJ' , 'Svalbard and Jan Mayen' , 'Шпицберген и Ян Майен' ) , array ( 'SK' , 'Slovakia' , 'СловакиÑ' ) , array ( 'SL' , 'Sierra Leone' , 'Сьерра-Леоне' ) , array ( 'SM' , 'San Marino' , 'Сан-Марино' ) , array ( 'SN' , 'Senegal' , 'Сенегал' ) , array ( 'SO' , 'Somalia' , 'Сомали' ) , array ( 'SR' , 'Suriname' , 'Суринам' ) , array ( 'SS' , 'South Sudan' , 'Южный Судан' ) , array ( 'ST' , 'Sao Tome and Principe' , 'Сан-Томе и ПринÑипи' ) , array ( 'SV' , 'El Salvador' , 'Ðль-Сальвадор' ) , array ( 'SY' , 'Syrian Arab Republic' , 'СирийÑÐºÐ°Ñ ÐрабÑÐºÐ°Ñ Ð ÐµÑпублика' ) , array ( 'SZ' , 'Swaziland' , 'Свазиленд' ) , array ( 'TC' , 'Turks and Caicos Islands' , 'ОÑтрова Ð¢ÐµÑ€ÐºÑ Ð¸ КайкоÑ' ) , array ( 'TD' , 'Chad' , 'Чад' ) , array ( 'TF' , 'French Southern Territories' , 'ФранцузÑкие Южные территории' ) , array ( 'TG' , 'Togo' , 'Того' ) , array ( 'TH' , 'Thailand' , 'Таиланд' ) , array ( 'TJ' , 'Tajikistan' , 'ТаджикиÑтан' ) , array ( 'TK' , 'Tokelau' , 'Токелау' ) , array ( 'TL' , 'Timor-Leste' , 'Тимор-ЛеÑте' ) , array ( 'TM' , 'Turkmenistan' , 'ТуркмениÑ' ) , array ( 'TN' , 'Tunisia' , 'ТуниÑ' ) , array ( 'TO' , 'Tonga' , 'Тонга' ) , array ( 'TR' , 'Turkey' , 'ТурциÑ' ) , array ( 'TT' , 'Trinidad and Tobago' , 'Тринидад и Тобаго' ) , array ( 'TV' , 'Tuvalu' , 'Тувалу' ) , array ( 'TW' , 'Taiwan' , 'Тайвань' ) , array ( 'TZ' , 'Tanzania' , 'ТанзаниÑ' ) , array ( 'UA' , 'Ukraine' , 'Украина' ) , array ( 'UG' , 'Uganda' , 'Уганда' ) , array ( 'UM' , 'United States Minor Outlying Islands' , 'Малые ТихоокеанÑкие отдаленные оÑтрова Соединенных Штатов' ) , array ( 'US' , 'United States' , 'Соединенные Штаты Ðмерики' ) , array ( 'UY' , 'Uruguay' , 'Уругвай' ) , array ( 'UZ' , 'Uzbekistan' , 'УзбекиÑтан' ) , array ( 'VA' , 'Holy See (Vatican)' , 'ПапÑкий ПреÑтол (Ватикан)' ) , array ( 'VC' , 'Saint Vincent and the Grenadines' , 'Сент-ВинÑент и Гренадины' ) , array ( 'VE' , 'Venezuela' , 'ВенеÑуÑла' ) , array ( 'VG' , 'Virgin Islands (British)' , 'ВиргинÑкие оÑтрова (БританÑкие)' ) , array ( 'VI' , 'Virgin Islands (U.S.)' , 'ВиргинÑкие оÑтрова (СШÐ)' ) , array ( 'VN' , 'Viet Nam' , 'Вьетнам' ) , array ( 'VU' , 'Vanuatu' , 'Вануату' ) , array ( 'WF' , 'Wallis and Futuna' , 'Ð£Ð¾Ð»Ð»Ð¸Ñ Ð¸ Футуна' ) , array ( 'WS' , 'Samoa' , 'Самоа' ) , array ( 'YE' , 'Yemen' , 'Йемен' ) , array ( 'YT' , 'Mayotte' , 'Майотта' ) , array ( 'ZA' , 'South Africa' , 'Ð®Ð¶Ð½Ð°Ñ Ðфрика' ) , array ( 'ZM' , 'Zambia' , 'ЗамбиÑ' ) , array ( 'ZW' , 'Zimbabwe' , 'Зимбабве' ) , ) ;
// ru/en
$language = 'ru' ;
$countries_codes = array ( ) ; foreach ( $countries as $country ) {
$countries_codes [ ] = $country [ 0 ] ;
}
$countries_names = array ( ) ; foreach ( $countries as $country ) {
switch ( $language ) {
case 'ru' :
$countries_names [ ] = $country [ 2 ] ;
break ;
case 'en' :
$countries_names [ ] = $country [ 1 ] ;
break ;
}
}
'en' => 'Country' ,
'ru' => 'Страна' ,
) ,
'stateOrProvinceName' => array ( 'en' => 'State or Province' ,
'ru' => 'ОблаÑÑ‚ÑŒ' ,
) ,
'en' => 'Locality' ,
'ru' => 'Город' ,
) ,
'organizationName' => array ( 'en' => 'Organization' ,
'ru' => 'Ðазвание организации' ,
) ,
'organizationalUnitName' => array ( 'en' => 'Organizational Unit' ,
'ru' => 'Подразделение' ,
) ,
'en' => 'Domain' ,
'ru' => 'Домен' ,
) ,
) ;
if ( $_POST ) {
function validate_country_code( $input ) {
global $countries_codes ;
return TRUE ;
}
else {
return FALSE ;
}
}
function validate_latin( $input ) {
return TRUE ;
}
else {
return FALSE ;
}
}
function validate_domain( $input ) {
// http://stackoverflow.com/a/4694816
if ( ! empty ( $input ) && preg_match ( "/^([a-z\d](-*[a-z\d])*)(\.([a-z\d](-*[a-z\d])*))*$/i" , $input ) && preg_match ( "/^.{1,253}$/" , $input ) && preg_match ( "/^[^\.]{1,63}(\.[^\.]{1,63})*$/" , $input ) ) { return TRUE ;
}
else {
return FALSE ;
}
}
if ( ! validate_country_code( $_POST [ 'countryName' ] ) ) {
switch ( $language ) {
case 'ru' :
$errors [ ] = 'Ðеправильно заполнено поле: ' . $fields [ 'countryName' ] [ $language ] ;
break ;
case 'en' :
$errors [ ] = 'Bad field: ' . $fields [ 'countryName' ] [ $language ] ;
break ;
}
}
'stateOrProvinceName' => $_POST [ 'stateOrProvinceName' ] ,
'localityName' => $_POST [ 'localityName' ] ,
'organizationName' => $_POST [ 'organizationName' ] ,
'organizationalUnitName' => $_POST [ 'organizationalUnitName' ] ,
) as $key => $value ) {
if ( ! validate_latin( $value ) ) {
switch ( $language ) {
case 'ru' :
$errors [ ] = 'ЗаполнÑетÑÑ Ð»Ð°Ñ‚Ð¸Ð½Ð¸Ñ†ÐµÐ¹: ' . $fields [ $key ] [ $language ] ;
break ;
case 'en' :
$errors [ ] = 'Latin only: ' . $fields [ $key ] [ $language ] ;
break ;
}
}
}
if ( ! validate_domain( $_POST [ 'commonName' ] ) ) {
switch ( $language ) {
case 'ru' :
$errors [ ] = 'Ðеправильно заполнено поле: ' . $fields [ 'commonName' ] [ $language ] ;
break ;
case 'en' :
$errors [ ] = 'Bad field: ' . $fields [ 'commonName' ] [ $language ] ;
break ;
}
}
// http://php.net/manual/en/function.openssl-csr-new.php
'countryName' => $_POST [ 'countryName' ] ,
'stateOrProvinceName' => $_POST [ 'stateOrProvinceName' ] ,
'localityName' => $_POST [ 'localityName' ] ,
'organizationName' => $_POST [ 'organizationName' ] ,
'organizationalUnitName' => $_POST [ 'organizationalUnitName' ] ,
'commonName' => $_POST [ 'commonName' ] ,
) ;
'private_key_bits' => 2048 ,
'encrypt_key' => FALSE ,
'private_key_type' => OPENSSL_KEYTYPE_RSA,
) ;
}
else {
echo "<ul>\n " ;
foreach ( $errors as $error ) {
echo '<li>' . $error . "</li>\n " ;
}
echo "</ul>\n " ;
}
}
?>
<form method="post">
<?= $fields [ 'countryName' ] [ $language ] ; ?> : <select name="countryName">
<?php
foreach ( $countries as $country ) {
switch ( $language ) {
case 'ru' :
echo ' <option value="' . $country [ 0 ] . '"' . ( ( isset ( $_POST [ 'countryName' ] ) && $_POST [ 'countryName' ] === $country [ 0 ] ) ?
' selected' : '' ) . '>' . $country [ 2 ] . '</option>' . "\n " ; break ;
case 'en' :
echo ' <option value="' . $country [ 0 ] . '"' . ( ( isset ( $_POST [ 'countryName' ] ) && $_POST [ 'countryName' ] === $country [ 0 ] ) ?
' selected' : '' ) . '>' . $country [ 1 ] . '</option>' . "\n " ; break ;
}
}
?>
</select><br>
<?php
foreach ( $fields as $key => $value ) {
if ( $key === 'countryName' ) {
continue ;
}
echo ' ' . $fields [ $key ] [ $language ] . ': <input name="' . $key . '" type="text" value="' . ( ( isset ( $_POST [ $key ] ) ) ?
$_POST [ $key ] : '' ) . '"><br>' . "\n " ; }
?>
<input type="submit">
</form>
<?php
echo "Private key:<br>\n " . '<textarea style="width: 560px; height: 200px;">' . $pkeyout . "</textarea><br>\n " ;
echo "CSR:<br>\n " . '<textarea style="width: 560px; height: 200px;">' . $csrout . "</textarea><br>\n " ;
echo "X509:<br>\n " . '<textarea style="width: 560px; height: 200px;">' . $certout . "</textarea>\n " ;
}