Auge: HTML 1 Formular für EDIT und CREATE

Beitrag lesen

Hallo

genau so habe ich das auch verstanden. Aber wie komme ich auf die "default-werte", also quasi leerstring?

Vor der Erstellung der Ausgabe des HTML-Formulars entscheidest du doch bestimmt, ob du das leere Formular für die Neueingabe eines Datensatzes oder ein vorausgefülltes Formular für die Bearbeitung eines vorhandenen Datensatzes darstellen willst, oder?

An der Stelle liest du doch, wenn es denn um die Bearbeitung eines Datensatzes gehen soll, auch den Selbigen aus der Datenbank. Du kannst also hernach entscheiden, was du im Formular anzeigst.

<?php
# Das Formular wurde für die Bearbeitung
# eines vorhandenen Datensatzes aufgerufen
if (isset($_POST['datensatz']) and intval($_POST['datensatz']) > 0) {
    # lies den Datensatz aus der Datenbank
    # in die Variable $dataset ein
}

# entscheide anhand der Existenz von $dataset ob ein
# leeres oder vorausgefülltes Formular angezeigt wird
# wie das konkret aussieht, kommt darauf an,
# wie du den HTML-Quelltext erstellst
?>

Du kannst jeweils einen Block für die Aufbereitung des Formulars mit oder ohne vorausgefüllten Feldern benutzen.

<?php
if (isset($dataset)) {
    # füge die Felder aus $dataset in die name-Attribute ein
} else {
    # lasse die name-Attribute leer
}
?>

Du kannst auch ein Array erstellen, das – für egal welchen Fall – die Werte der name-Attribute enthält. Hier habe ich dafür ternäre Operatoren benutzt.

<?php
$nameValues['id'] = (isset($dataset['id'])) ? htmlspecialchars($dataset['id']):  '';
$nameValues['kundenname'] = (isset($dataset['kundenname'])) ? htmlspecialchars($dataset['kundenname']):  '';
# u.s.w.

# fülle jetzt die name-Attribute im Formular
# mit den Werten von $nameValues aus
?>

In den Elementen von $nameValues befinden sich entweder die Werte aus dem Datensatz oder Leerstrings. Die landen so auch in den name-Attributen der Formularfelder. Die sind damit ausgefüllt oder bleiben leer.

Zum Schluss erfolgt die Ausgabe

<?php
# gib das Formular aus
echo $variableMitDemAufbereitetenQuelltextDesFormulars;
?>

Tschö, Auge

--
Ein echtes Alchimistenlabor musste voll mit Glasgefäßen sein, die so aussahen, als wären sie beim öffentlichen Schluckaufwettbewerb der Glasbläsergilde entstanden.
Hohle Köpfe von Terry Pratchett