Ik heb een online form waar deelnemers zich kunnen registreren. Ik maak gebruik van een aantal drop down boxen. Op het moment dat iemand submit aanklikt, wordt het formulier m.b.v. PHP gecontroleerd. Als er een error is, verschijnt er een berichtje boven aan het form. Ik echo alle velden netjes terug, zodat niet het hele form weer opnieuw ingevuld hoeft te worden.

Mijn vraag: hoe zorg ik ervoor dat checkboxen niet terug springen op de eerste optie?
Checkboxen die een eerste optie hebben? Wat bedoel je precies?
Okay... Stel je voor:

<select name="adults" id="adults">
<option value="1">1</option>
<option value="2">2</option>
</select>

Als ik nummer 2 kies, en er staat elders op de pagina een fout, wordt de box gereset naar value 1. Bij een normaal tekst veld kan ik dit doen:

<input type="text" name="firstname" id="firstname" value="<? echo $_POST['firstname']; ?>"/>

Maar dat kan natuurlijk niet met een selection box. Enig idee?
<?php
echo '<select name="adults" id="adults">';
for($i=1; $i<5; $i++)
{
$selected = ($_POST['adults'] == $i) ? ' selected' : '';
echo '<option value="' . $i . '"' . $elected . '>' . $i . '</option>';
}
echo '</select>';
?>
Heel erg bedankt SanThe! Ik krijg het alleen niet aan de praat.

Hoe kan ik dit toepassen in het volgende formulier:

<?
$sql = "SELECT * FROM events ORDER BY id";
$db->DbQuery( $sql );


if( $db->DbNumRows() > 0 )
while( $event = $db->DbNextRow() )
{
$event_id = $event['event_id'];
$description = $event['description'];

$sql = "SELECT SUM(att) as total_adults FROM personal_data WHERE event_id = '$event_id'";
$query = mysql_query($sql) or die();
$m=mysql_fetch_assoc($query);
$att = $m['total_adults'];

if ($att < 1) { $att = '0'; }

if ($att < 131 ) {

echo "<option value=\"$event_id\">$description</option><br/>";
} else {
echo "<option disabled=\"disabled\">$description (FULL)</option><br/>";
}
} ?>

<select name="aaa" id="aaa">
<?php
if ($_POST['naamcheckbox'] == "aaa") {
echo "<option value="aaa" selected="selected">aaa</option>
} else {
echo "<option value="aaa">aaa</option>
} elseif ($_POST['naamcheckbox'] == "bbb") {
echo "<option value="bbb" selected="selected">bbb</option>
} else {
echo "<option value="bbb">bbb</option>
}
?>
</select>

Reageren