• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Select-Feld soll bei fehlgeschlagener Validierung den letzten Wert anzeigen

StephanBo

Mitglied
Ein Formular wird validiert, ob auch alle Felder ausgefüllt sind bevor es in der DB gespeichert wird. Wenn Felder leer geblieben sind, erhält der Nutzer eine Nachricht darüber, diese auszufüllen. Die anderen bereits ausgefüllten Felder sollen dabei jedoch ihren bisher eingetragenen Wert beibehalten und nicht resettet werden. Das klappt auch ohne Probleme, da ich einfach folgenden php Code in das input-Feld einfüge:

<input name="XYZ" id="XYZ" type="text" value="<?php echo isset($_POST['XYZ']) ? $_POST['XYZ'] : '' ?>" />

Jetzt habe ich aber auch ein Select Feld dabei und ich weiß nicht wie und wo ich den oben angegebenen Code dort einfügen muss, damit die gemachte Auswahl auch bei einer fehlgeschlagenen Validierung beibehalten wird.

<select size="1" name="ABC" id="ABC" type="text">
<option value="" selected="selected">Bitte wählen</option>
<option value="1">Eins</option>
<option value="2">Zwei</option>
<option value="3">Drei</option>
</select>

Hoffe mein Anliegen ist verständlich und jemand weiß was dazu. Vielen Dank schon mal...
 
Moin Moin

PHP:
<select size="1" name="ABC" id="ABC">
  <option value="" <?php echo isset($_POST['ABC']) && empty($_POST['ABC']) ? 'selected="selected"' : ''; ?>>Bitte wählen</option>
  <option value="1" <?php echo isset($_POST['ABC']) && $_POST['ABC'] == '1' ? 'selected="selected"' : ''; ?>>Eins</option>
  <option value="2" <?php echo isset($_POST['ABC']) && $_POST['ABC'] == '2' ? 'selected="selected"' : ''; ?>>Zwei</option>
  <option value="3" <?php echo isset($_POST['ABC']) && $_POST['ABC'] == '3' ? 'selected="selected"' : ''; ?>>Drei</option>
</select>
 
Zurück
Oben