Land ausgewählt -> Flagge angzeigen

VarrY

Grünschnabel
Hoi, ich suche nen script das folgendes kann:
Man wählt aus dem Pulldownmenü sein Land aus und abhängig davon erscheint daneben die entsprechende Flagge... Weiß jemand wo es sowas gibt oder kann das eben jemand "schnell" schreiben (weiß ned wieviel Arbeit das is). Am besten wäre mit ner kleinen Erklärung...
Hier mal ein Beispiel: http://www.mymtw.de/secure/register.aspx

Vielen Dank =)
 
Das geht nicht per PHP, da dies eine serverseitige Scriptsprache ist. So etwas kannst du z.B. per JavaScript machen.
 
PHP braucht immer einen Refresh. Ansonsten würde ich dir JavaScript empfehlen, wobei ich keine Ahnung habe wie das geht. Aber schau mal nach dem Befehl "OnChange"
 
Aber schaut euch ma das an:
<SELECT onchange="window.location.href=this.options[this.selectedIndex].value">
<OPTION VALUE="http://www.microsoft.com/ie">Internet Explorer</OPTION>
<OPTION VALUE="http://www.microsoft.com">Microsoft Home</OPTION>
<OPTION VALUE="http://msdn.microsoft.com">Developer Network</OPTION>
</SELECT>

So würde ich es ja hinkriegen, dass ich z.B. "Deutschland" auswähle und sofort ne neue Seite mit der Flagge kommt. Aber wie kriege ich es hin, dass die Flagge daneben erscheint... muss doch irgendwie gehen?!

EDIT:
Ich hätte da ne Methode entwickelt:

test.php
<SELECT onchange="window.location.href=this.options[this.selectedIndex].value" name="select">
<option value="test.php">-</option>
<option value="test-de.php">Deutschland</option>
<option value="test-br.php">Brasilien</option>
</SELECT>

test-de.php
<SELECT onchange="window.location.href=this.options[this.selectedIndex].value" name="select">
<option value="test.php">-</option>
<option value="test-de.php" selected>Deutschland</option>
<option value="test-br.php">Brasilien</option>
</SELECT>
<img src="countrys/de.gif" width="20" height="12">

test-br.php
<SELECT onchange="window.location.href=this.options[this.selectedIndex].value" name="select">
<option value="test.php">-</option>
<option value="test-de.php">Deutschland</option>
<option value="test-br.php" selected>Brasilien</option>
</SELECT>
<img src="countrys/br.gif" width="20" height="12">

Aber das is ganz schön primitiv bei den vielen Dateien...
 
Zuletzt bearbeitet:
Damit das übersichtlich bleibt mach ich nen Doppelpost.
Ich hab ma bissel gestöbert und hab das gefunden:

register.php:
<form method="post" action="index.php?show=register" name="theform">
<?php include ("country.php"); countryselect($country,"country","change1"); ?>
</form>

country.php
<?php function countryselect($country,$select,$change) {
$slc="selected=\"selected\"";
print "<select name=\"$select\" onChange=\"var a=theform.$select.options[theform.$select.selectedIndex].value; document.getElementById('$change').src=a\">"; ?>
<option value="countrys/na.gif" <?php if($country=="na") { echo $slc; } ?>>----</option>
<option value="countrys/be.gif" <?php if($country=="be") { echo $slc; } ?>>Belgien</option>
<option value="countrys/br.gif" <?php if($country=="br") { echo $slc; } ?>>Brasilien</option>
<option value="countrys/bg.gif" <?php if($country=="bg") { echo $slc; } ?>>Bulgarien</option>
<option value="countrys/dk.gif" <?php if($country=="dk") { echo $slc; } ?>>D&auml;nemark</option>
<option value="countrys/de.gif" <?php if($country=="de") { echo $slc; } ?>>Deutschland</option>
<option value="countrys/ee.gif" <?php if($country=="ee") { echo $slc; } ?>>Estland</option>
<option value="countrys/fi.gif" <?php if($country=="fi") { echo $slc; } ?>>Finnland</option>
<option value="countrys/fr.gif" <?php if($country=="fr") { echo $slc; } ?>>Frankreich</option>
<option value="countrys/gr.gif" <?php if($country=="gr") { echo $slc; } ?>>Griechenland</option>
<option value="countrys/uk.gif" <?php if($country=="uk") { echo $slc; } ?>>Grossbritannien</option>
<option value="countrys/ie.gif" <?php if($country=="ie") { echo $slc; } ?>>Irland</option>
<option value="countrys/is.gif" <?php if($country=="is") { echo $slc; } ?>>Island</option>
<option value="countrys/it.gif" <?php if($country=="it") { echo $slc; } ?>>Italien</option>
<option value="countrys/jm.gif" <?php if($country=="jm") { echo $slc; } ?>>Jamaika</option>
<option value="countrys/jp.gif" <?php if($country=="jp") { echo $slc; } ?>>Japan</option>
<option value="countrys/ca.gif" <?php if($country=="ca") { echo $slc; } ?>>Kanada</option>
<option value="countrys/lv.gif" <?php if($country=="lv") { echo $slc; } ?>>Lettland</option>
<option value="countrys/ma.gif" <?php if($country=="ma") { echo $slc; } ?>>Marokko</option>
<option value="countrys/nl.gif" <?php if($country=="nl") { echo $slc; } ?>>Niederlande</option>
<option value="countrys/no.gif" <?php if($country=="no") { echo $slc; } ?>>Norwegen</option>
<option value="countrys/at.gif" <?php if($country=="at") { echo $slc; } ?>>&Ouml;sterreich</option>
<option value="countrys/pl.gif" <?php if($country=="pl") { echo $slc; } ?>>Polen</option>
<option value="countrys/pt.gif" <?php if($country=="pt") { echo $slc; } ?>>Portugal</option>
<option value="countrys/ro.gif" <?php if($country=="ro") { echo $slc; } ?>>Rum&auml;nien</option>
<option value="countrys/ru.gif" <?php if($country=="ru") { echo $slc; } ?>>Russland</option>
<option value="countrys/se.gif" <?php if($country=="se") { echo $slc; } ?>>Schweden</option>
<option value="countrys/ch.gif" <?php if($country=="ch") { echo $slc; } ?>>Schweiz</option>
<option value="countrys/sk.gif" <?php if($country=="sk") { echo $slc; } ?>>Slowakei</option>
<option value="countrys/si.gif" <?php if($country=="si") { echo $slc; } ?>>Slowenien</option>
<option value="countrys/es.gif" <?php if($country=="es") { echo $slc; } ?>>Spanien</option>
<option value="countrys/kr.gif" <?php if($country=="kr") { echo $slc; } ?>>S&uuml;d-Korea</option>
<option value="countrys/hu.gif" <?php if($country=="hu") { echo $slc; } ?>>Ungarn</option>
<option value="countrys/cz.gif" <?php if($country=="cz") { echo $slc; } ?>>Tschechien</option>
<option value="countrys/tr.gif" <?php if($country=="tr") { echo $slc; } ?>>T&uuml;rkei</option>
<option value="countrys/ua.gif" <?php if($country=="ua") { echo $slc; } ?>>Ukraine</option>
<option value="countrys/us.gif" <?php if($country=="us") { echo $slc; } ?>>USA</option>
</select> &nbsp; &nbsp;
<?php if(empty($country)) { $country="countrys/na.gif"; }
else { $country="countrys/$country.gif"; }
print "<img src=\"$country\" id=\"$change\" alt=\"\">"; }
?>

So funktioniert das...,da ich noch nen relativer Anfänger bin check ich die country.php ned wirklich. Kann die mir vielleicht jemand erklären
 
Zuletzt bearbeitet:
So gehts, tatsache... würde mich auch ma intressieren wie das funktioniert. In welcher Variable ist eigentlich dann der Wert (de, be...) gespeichert?
 
Unabhängig von euren antworten bist jetzt hab ich hier ne recht einfache Lösung:

Zunächst mal der Javascript teil:

function changeflag()
{
if (!document.images)
return
document.images.country.src="deinverzeichniswodieflaggenliegen/flagge-"+document.formularname.selectionsname.options[document.formularname.selectionsname.selectedIndex].value+".gif"
}

das kommt natürlich in deinen Header Bereich.
Das musst du noch anpassen. Mit dem Formular und dem ganzen anderen.
Dann hab ich mir ne Datei erstellt wo ich alle flaggen drin hab und diese in ein Array geschrieben.

PHP:
$corp_flags = array('af', 'al', 'dz', 'as', 'ad', 'ao', 'ai', 'aq', 'ar', 'am', 'aw', 'au', 'at', 'az', 'bs', 'bh', 'bd', 'bb', 'by', 'be', 'bz', 'bj', 'bm', 'bt', 'bo', 'bw', 'bv', 'br', 'bn', 'bg', 'bf', 'bi', 'kh', 'cm', 'ca', 'cv', 'ky', 'td', 'cl', 'cn', 'cx', 'cc', 'co', 'km', 'cg', 'ck', 'cr', 'ci', 'hr', 'cu', 'cy', 'cz', 'dk', 'dj', 'dm', 'do', 'tp', 'ec', 'eg', 'sv', 'gq', 'er', 'ee', 'et', 'eu', 'fk', 'fo', 'fj', 'fi', 'fr', 'gf', 'pf', 'ga', 'gm', 'ge', 'de', 'gh', 'gi', 'gr', 'gl', 'gd', 'gp', 'gu', 'gt', 'gn', 'gw', 'gy', 'ht', 'hn', 'hk', 'hu', 'is', 'in', 'id', 'ir', 'iq', 'ie', 'il', 'it', 'jm', 'jp', 'jo', 'kz', 'ke', 'ki', 'kp', 'kr', 'kw', 'kg', 'la', 'lv', 'lb', 'ls', 'lr', 'ly', 'li', 'lt', 'lu', 'mo', 'mk', 'mg', 'mw', 'my', 'mv', 'ml', 'mt', 'mh', 'mq', 'mr', 'mu', 'yt', 'mx', 'fm', 'md', 'mc', 'mn', 'ms', 'ma', 'mz', 'mm', 'na', 'nr', 'np', 'nl', 'nc', 'nz', 'ni', 'ne', 'ng', 'nu', 'nf', 'no', 'om', 'pk', 'pw', 'ps', 'pa', 'pg', 'py', 'pe', 'ph', 'pn', 'pl', 'pt', 'pr', 'qa', 're', 'ro', 'ru', 'rw', 'lc', 'vc', 'ws', 'sm', 'sa', 'sn', 'sc', 'sl', 'sg', 'sk', 'si', 'sb', 'so', 'za', 'gs', 'es', 'lk', 'sh', 'sd', 'sr', 'sz', 'se', 'ch', 'sy', 'tw', 'tj', 'tz', 'th', 'tg', 'tk', 'to', 'tt', 'tn', 'tr', 'tm', 'tv', 'ug', 'ua', 'uk', 'us', 'uy', 'uz', 'vu', 'va', 've', 'vn', 'eh', 'ye', 'yu', 'zr', 'zm', 'zw');

PHP:
$corp_flag_country = array (
'af' => "Afghanistan",
'al' => "Albania",
'dz' => "Algeria",
'as' => "American Samoa",
'ad' => "Andorra",
'ao' => "Angola",
'ai' => "Anguilla",
'aq' => "Antarctica",
'ar' => "Argentina",
'am' => "Armenia",
'aw' => "Aruba",
'au' => "Australia",
'at' => "Austria",
'az' => "Azerbaijan",
'bs' => "Bahamas",
'bh' => "Bahrain",
'bd' => "Bangladesh",
'bb' => "Barbados",
'by' => "Belarus",
'be' => "Belgium",
'bz' => "Belize",
'bj' => "Benin",
'bm' => "Bermuda",
'bt' => "Bhutan",
'bo' => "Bolivia",
'bw' => "Botswana",
'bv' => "Bouvet Island",
'br' => "Brazil",
'bn' => "Brunei Darussalam",
'bg' => "Bulgaria",
'bf' => "Burkina Faso",
'bi' => "Burundi",
'kh' => "Cambodia",
'cm' => "Cameroon",
'ca' => "Canada",
'cv' => "Cape Verde",
'ky' => "Cayman Islands",
'td' => "Chad",
'cl' => "Chile",
'cn' => "China",
'cx' => "Christmas Island",
'cc' => "Cocos Islands",
'co' => "Colombia",
'km' => "Comoros",
'cg' => "Congo",
'ck' => "Cook Islands",
'cr' => "Costa Rica",
'ci' => "Cote D'ivoire",
'hr' => "Croatia",
'cu' => "Cuba",
'cy' => "Cyprus",
'cz' => "Czech Republic",
'dk' => "Denmark",
'dj' => "Djibouti",
'dm' => "Dominica",
'do' => "Dominican Republic",
'tp' => "East Timor",
'ec' => "Ecuador",
'eg' => "Egypt",
'sv' => "El Salvador",
'gq' => "Equatorial Guinea",
'er' => "Eritrea",
'ee' => "Estonia",
'et' => "Ethiopia",
'eu' => "Europe",
'fk' => "Falkland Islands",
'fo' => "Faeroe Islands",
'fj' => "Fiji",
'fi' => "Finland",
'fr' => "France",
'gf' => "French Guiana",
'pf' => "French Polynesia",
'ga' => "Gabon",
'gm' => "Gambia",
'ge' => "Georgia",
'de' => "Germany",
'gh' => "Ghana",
'gi' => "Gibraltar",
'gr' => "Greece",
'gl' => "Greenland",
'gd' => "Grenada",
'gp' => "Guadeloupe",
'gu' => "Guam",
'gt' => "Guatemala",
'gn' => "Guinea",
'gw' => "Guinea-bissau",
'gy' => "Guyana",
'ht' => "Haiti",
'hn' => "Honduras",
'hk' => "Hong Kong",
'hu' => "Hungary",
'is' => "Iceland",
'in' => "India",
'id' => "Indonesia",
'ir' => "Iran",
'iq' => "Iraq",
'ie' => "Ireland",
'il' => "Israel",
'it' => "Italy",
'jm' => "Jamaica",
'jp' => "Japan",
'jo' => "Jordan",
'kz' => "Kazakhstan",
'ke' => "Kenya",
'ki' => "Kiribati",
'kp' => "North Korea",
'kr' => "South Korea",
'kw' => "Kuwait",
'kg' => "Kyrgyzstan",
'la' => "Laos",
'lv' => "Latvia",
'lb' => "Lebanon",
'ls' => "Lesotho",
'lr' => "Liberia",
'ly' => "Libya",
'li' => "Liechtenstein",
'lt' => "Lithuania",
'lu' => "Luxembourg",
'mo' => "Macau",
'mk' => "Macedonia",
'mg' => "Madagascar",
'mw' => "Malawi",
'my' => "Malaysia",
'mv' => "Maldives",
'ml' => "Mali",
'mt' => "Malta",
'mh' => "Marshall Islands",
'mq' => "Martinique",
'mr' => "Mauritania",
'mu' => "Mauritius",
'yt' => "Mayotte",
'mx' => "Mexico",
'fm' => "Micronesia",
'md' => "Moldavia",
'mc' => "Monaco",
'mn' => "Mongolia",
'ms' => "Montserrat",
'ma' => "Morocco",
'mz' => "Mozambique",
'mm' => "Myanmar",
'na' => "Namibia",
'nr' => "Nauru",
'np' => "Nepal",
'nl' => "Netherlands",
'nc' => "New Caledonia",
'nz' => "New Zealand",
'ni' => "Nicaragua",
'ne' => "Niger",
'ng' => "Nigeria",
'nu' => "Niue",
'nf' => "Norfolk Island",
'no' => "Norway",
'om' => "Oman",
'pk' => "Pakistan",
'pw' => "Palau",
'ps' => "Palestine",
'pa' => "Panama",
'pg' => "Papua New Guinea",
'py' => "Paraguay",
'pe' => "Peru",
'ph' => "Philippines",
'pn' => "Pitcairn",
'pl' => "Poland",
'pt' => "Portugal",
'pr' => "Puerto Rico",
'qa' => "Qatar",
're' => "Reunion",
'ro' => "Romania",
'ru' => "Russia",
'rw' => "Rwanda",

'lc' => "Saint Lucia",
'vc' => "Saint Vincent",
'ws' => "Samoa",
'sm' => "San Marino",

'sa' => "Saudi Arabia",
'sn' => "Senegal",
'sc' => "Seychelles",
'sl' => "Sierra Leone",
'sg' => "Singapore",
'sk' => "Slovakia",
'si' => "Slovenia",
'sb' => "Solomon Islands",
'so' => "Somalia",
'za' => "South Africa",
'gs' => "South Georgia",
'es' => "Spain",
'lk' => "Sri Lanka",
'sh' => "St. Helena",

'sd' => "Sudan",
'sr' => "Suriname",
'sz' => "Swaziland",
'se' => "Sweden",
'ch' => "Switzerland",
'sy' => "Syria",
'tw' => "Taiwan",
'tj' => "Tajikistan",
'tz' => "Tanzania",
'th' => "Thailand",
'tg' => "Togo",
'tk' => "Tokelau",
'to' => "Tonga",
'tt' => "Trinidad And Tobago",
'tn' => "Tunisia",
'tr' => "Turkey",
'tm' => "Turkmenistan",
'tv' => "Tuvalu",
'ug' => "Uganda",
'ua' => "Ukraine",
'uk' => "United Kingdom",
'us' => "United States",
'uy' => "Uruguay",
'uz' => "Uzbekistan",
'vu' => "Vanuatu",
'va' => "Vatican",
've' => "Venezuela",
'vn' => "Vietnam",
'eh' => "Western Sahara",
'ye' => "Yemen",
'yu' => "Yugoslavia",
'zr' => "Zaire",
'zm' => "Zambia",
'zw' => "Zimbabwe"
	);

so fehlt nur noch der formular teil, dazu habe ich eine funktion die du noch anpassen musst:

PHP:
function selectboxcountries($uidcountry,$uidflag)
{
	global $corp_flag_country, $corp_flags;

	

	$check = $uidflag;
	$selected = ($check=="" || $check=="00") ? "Unknown" : '';
	echo "<select name=country size=\"1\" class='corpformular1' onChange=changeflag()><option value=\"00\">$selected</option>";
	while ( list($i,$x) = each($corp_flags) )
		{
		$selected = ($x == $check) ? "selected=\"selected\"" : '';
		echo "<option value=\"$x\" $selected>".$corp_flag_country[$x]."</option>";
		
		}
	echo "</select>";
}

Tada, das wars, wenn du noch fragen hast:
admin@winterworkx.de (MSN Messenger)
 
Da ich noch nen relativer Anfänger bin habe ich das auch ned so richtig gecheckt. Kannste mir evtl das alles so amchen das es funktioniert. Dann kann ich es mir anschauen und analysieren und dabei verstehen.
Wäre voll cool =). Also so nen komplettes Teil.
 
Zurück