114801

Formular: aktuelle Auswahl (Option) nach Absenden beibehalten

Hallo,
und zwar habe ich derzeit ein normales HTML-Formular inklusive Werten, nun möchte ich aber, dass nach dem Absenden und erneutem Aufruf der Seite auch die gewählte Option beibehalten wird. Ich meine damals auch einen Code dafür gehabt zu haben, aber nach vielen Jahren ist der auch nicht auffindbar und die Kenntnisse in PHP leider beschränkt face-sad

Die Optionen können gerne in einem Array stehen da für dieses bisschen keine Datenbank benötigt wird, es geht unter anderem nur darum, dass der Benutzer etwas auswählt, und nach dem Absenden wird die Seite neu geladen und die Sachen dementsprechend per print ausgegeben face-wink

Die Absendemethode ist post

Hier ein Beispiel:
<form method="post">  
	<select name="Beispiel">  
	<option value="item1">Eintrag 1</option>  
	<option value="item2">Eintrag 2</option>  
	<option value="item3">Eintrag 3</option>  
	</select>
        <button>OK</button>
</form>
Es wäre sehr schön, wenn zu Anfang als Beispiel Eintrag 2 vorab gewählt ist und nach absenden des Formulars mit endsprechender Auswahl des Benutzers dann der ausgewählte Eintrag verwendet wird face-smile
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 343758

Url: https://administrator.de/forum/formular-aktuelle-auswahl-option-nach-absenden-beibehalten-343758.html

Ausgedruckt am: 28.04.2025 um 02:04 Uhr

133417
Lösung 133417 18.07.2017 um 18:17:01 Uhr
Goto Top
Da gibts viele Möglichkeiten. Meistens nimmt man Session-Variablen dafür her.
<?php
session_start();
if (isset($_POST['Beispiel'])){  
	$_SESSION['selItem'] = $_POST['Beispiel'];  
}
?>

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
<title>Select save state</title>
</head>
<body>
<form method="post">  
	<select name="Beispiel">  
        <option value="item1" <?php echo (($_SESSION['selItem'] == "item1")? "selected" : ""); ?>>Eintrag 1</option>  
        <option value="item2" <?php echo (($_SESSION['selItem'] == "item2")? "selected" : ""); ?>>Eintrag 2</option>  
        <option value="item3" <?php echo (($_SESSION['selItem'] == "item3")? "selected" : ""); ?>>Eintrag 3</option>  
	</select>
    <input type="submit" value="Senden">  
</form>
</body>
</html>
Gruß
114801
114801 19.07.2017 aktualisiert um 15:40:37 Uhr
Goto Top
OK, danke, werde diese Variante mal testen.

Nach extrem langen suchen fand ich eine einfache Lösung, hätte man drauf kommen sollen, aber ich dachte es gäbe noch andere Möglichkeiten face-smile

Via if face-wink ist es auch möglich, wobei ich es etwas unpraktisch finde, weil man die Sachen auch in einem Array packen könnte, aber es wäre die Frage, wie man das mit der "Optionsgruppe" lösen könnte?

Egal, das Auswahlfeld enthält zum Glück nicht zu viele Einträge face-big-smile

Werde mal schauen ob ich Check-/Radioboxen auch so hinbekomme face-big-smile
133417
133417 19.07.2017 aktualisiert um 15:44:39 Uhr
Goto Top
aber es wäre die Frage, wie man das mit der "Optionsgruppe" lösen könnte?
Die Optionsgruppe nicht statisch erstellen sondern über PHP und einer Schleife ausgeben und nur bei der aktiven Auswahl das "selected" mit ausgeben, fertig.
Geht zwar auch per JavaScript, aber so geht es auch ohne.