Even een vraagje over formuliertjes
je kan nu meer dan 1 item selecteren uit zo een lijstje, echter na het verzenden zie ik dat er slechts 1 is meegestuurd via de _POST, hoe kan ik ervoor zorgen dat alle zaken meegestuurd worden of op zn minst zichtbaar komen?
kan je een script tonen??
hier kan ik helemaal niks mee
Door in de name ook een [] op te nemen:

<input type="select" name="input[]">

Er wordt dan een array aangemaakt met de naam 'input'. Met een foreach kun je deze dan in je php-code uitlezen.

print_r($_POST); zal je meer inzicht geven.
<select name="4" size="5" multiple="multiple">
<option value="waarde">waarde</option>
.......
</select>

post:
$_POST['4']

dit bevat de verzonden waarde, hetgeen in de mail verstuurd wordt is maar één van de zaken die geselecteerd werd in de select list. Hoe zorg je ervoor dat de rest ook meegestuurd wordt

edit: dank u wel ;)
<select name="4[]" size="5" multiple="multiple">
<option value="waarde">waarde</option>
.......
</select>

geloof ik.
Goed programmeren begint bij het gebruiken van goede namen voor variabelen. De naam '4' valt zeker niet in deze categorie... Ik mag hopen dat het slechts een heel slecht voorbeeld is ! ;)
Voorbeeld:

<html>
<head>
	<title>Een multiple select opvangen</title>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
	<form method="post" action="index.php">
		<select multiple name="test[]">
			<option value="een">een</option>
			<option value="twee">twee</option>
			<option value="drie">drie</option>
			<option value="vier">vier</option>
		</select>
		<input type="submit">
	</form>
	<?php
		if ($_SERVER['REQUEST_METHOD'] == 'POST') {
			echo '<pre>';
			print_r ($_POST);
			echo '</pre>';
		}
	?>
</body>
</html>


edit: het bestand moet wel "index.php" heten, anders werkt het formulier niet.
Frank schreef op 07.07.2006 17:04
Goed programmeren begint bij het gebruiken van goede namen voor variabelen. De naam '4' valt zeker niet in deze categorie... Ik mag hopen dat het slechts een heel slecht voorbeeld is ! ;)

Ik ook, want variabelennamen mogen niet met een cijfer beginnen volgens mij.
ja die 4 is maar tijdelijk ;)
ok het is nu als een array maar het ding moet met al die namen gemaild worden en door simpel $_POST['4'] te zetten komt er enkel array in de mail ipv al de rest :D
<?php
foreach ($_POST['select_naam'] as $value) { // dus GEEN 4
// voeg $value toe aan de mailbody
$mailbody .= ("\n" . $value);
}
?>
@ Jan die 4 die mag wel aangezien 't een array key is. Mooi is anders maar goed. Een variabele mag idd niet met een getal beginnen.

Reageren