Waarde opvragen en de juiste optie selecteren
Stel dat je formulier er zo uit ziet:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<select name="maand">
<option value="januari">januari</option>
<option value="februari">februari</option>
<option value="maart">maart</option>
<!-- enzovoort -->
</select>
</form>
<select name="maand">
<option value="januari">januari</option>
<option value="februari">februari</option>
<option value="maart">maart</option>
<!-- enzovoort -->
</select>
</form>
Dan is na verzenden van het formulier de waarde van de selectbox op te vragen via:
Code (php)
Om de waarde van de selectbox goed te zetten zou je dus bij elke <option> moeten checken of de waarde overeenkomt met $_POST['maand']:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<select name="maand">
<option value="januari"<?php if ($_POST['maand'] == 'januari') echo ' selected="selected"'; ?>>januari</option>
<option value="februari"<?php if ($_POST['maand'] == 'februari') echo ' selected="selected"'; ?>>februari</option>
<option value="maart"<?php if ($_POST['maand'] == 'maart') echo ' selected="selected"'; ?>>maart</option>
<!-- enzovoort -->
</select>
</form>
<select name="maand">
<option value="januari"<?php if ($_POST['maand'] == 'januari') echo ' selected="selected"'; ?>>januari</option>
<option value="februari"<?php if ($_POST['maand'] == 'februari') echo ' selected="selected"'; ?>>februari</option>
<option value="maart"<?php if ($_POST['maand'] == 'maart') echo ' selected="selected"'; ?>>maart</option>
<!-- enzovoort -->
</select>
</form>
Dit werkt ook wel, maar zal de eerste keer dat de pagina laadt een notice geven, als je tenminste je error_reporting op E_ALL hebt staan, zoals het hoort. Dan bestaat de variabele $_POST['maand'] niet omdat het formulier nog niet verzonden is. Je zult dan een notice krijgen: undefined index 'maand'
« vorige pagina | volgende pagina »
Inhoudsopgave
- Selectief Geheugen
- Waarde opvragen en de juiste optie selecteren
- Een kortere manier zonder notices
- Een mooiere manier met associatieve arrays
- Meer dan 1 selectbox: automatisch genereren
- Eureka: multidimensionale array!