PHP Array mit mehreren Werten auf einem Feld

Wlan-Kabel

Lt. Junior Grade
Registriert
Juli 2008
Beiträge
297
Nabend alle zusammen,
ich hänge gerade an folgendem:
ich hab per <select multiple> mehrere Werte auf einem $_GET oder $_POST feld. Wie kann ich die jetzt abrufen? Hab mich schon durch alles mögliche durch probiert aber langsam macht mir die müdigkeit einen strich durch die rechnung.
Google wollt mir auch nicht mehr helfen, hin und wieder haben da zwar mal welche gesagt das sei nicht möglich, aber wozu gibt es dann etwas wie<select multiple>? >.<
 
Das ganze liefert dir ein Array

PHP:
$_GET['select_name'][i] # mit i = 0 bis Anzahl Elemente - 1

Also bspw. direkt mit Indizes drauf zugreifen oder mit einer Schleife.
 
wenn du das nächste mal probleme bei was hast: lass dir die daten einfach anzeigen:
PHP:
echo '<pre>'.print_r( $_GET, true ).'</pre>';
# oder
var_dump( $_GET );
 
ich mach irgendwas falsch...
PHP:
<html>
<body>
<form action="testphp.php">
	<select multiple name='hans'>
		<option> hi</option>
		<option selected> hoi </option>
		<option selected> hai </option>
		<option> Nabend </option>
	</select>
	<input type='submit'>
</form>
</body>
</html>
<?php
	print_r( $_GET ); 
?>
ungefähr so sieht die geschichte aus... aber ich bekomm nur den letzten wert ausgegeben... ich sags ja nicht gerne aber: was in drei teufels namen mach ich hier falsch? >.<
Habs auch schon mit reset() probiert, hilft nichts :(



OKAY habs gelöst xD da müssen "[]" hinter den select namen.... naja danke trozdem =D

also so:
HTML:
<form action="testphp.php">
	<select multiple name='hans[]'>
		<option> hi</option>
		<option selected> hoi </option>
		<option selected> hai </option>
		<option> Nabend </option>
	</select>
	<input type='submit'>
</form>
PHP:
<?php
	print_r( $_GET ); 
?>
 
Zuletzt bearbeitet:
Wlan-Kabel schrieb:
OKAY habs gelöst xD da müssen "[]" hinter den select namen.... naja danke trozdem =D
das kannst du dir auch gleich für die zukunft merken. wenn du namen so als "arrays" deklarierst, kannst du sie auch so in php verwenden. bspw:
PHP:
<input type="text" name="login[username]" />
<input type="password" name="login[password]" />
dann bekommst du ein array das so aussieht:
PHP:
$_POST['login']['username']
$_POST['login']['password']
das hilft besonders bei komplexen formularen mit extrem vielen checkboxen u.ä. in verwendung mit datenbanken und ids, lassen sich formulare extrem einfach auswerten.
 
Zurück
Oben