Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Datenbanken und PHP Grundkurs

Daten über Formular ändern

Testen Sie unsere 2016 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Die Benutzer sollen Daten auch ändern können. Dafür schreiben Sie den ausgewählten Datensatz in ein Formular – und ändern nach dem Absenden den Datensatz.

Transkript

Der Bearbeitungsvorgang besteht aus zwei SQL-Befehlen, zum einen aus einem "select", denn wenn ich auf "bearbeiten" klicke, muss ich den Datensatz in das Formular reinschreiben, und dann besteht dieser Vorgang auch noch aus einem Update. Wenn ich an dieser Stelle Änderungen durchführe, dann sollen die auch eingetragen werden. Sehen wir uns an, wie das Ganze funktioniert: Unser Script ist zweigeteilt. In dem einen Teil wird das Formular ausgegeben, in dem anderen Teil findet der Update-Vorgang statt. Sehen wir uns die Formular-Ausgabe an: Das Formular soll nur angezeigt werden, wenn "$_POST('titel')" leer ist, das heißt, wenn das Formular nicht abgesendet wurde. Formular wird mit "post" übertragen, die ganzen Daten, und wenn etwas eingetragen werden würde, dann ist das nicht mehr leer. Also, wenn das leer ist, soll das Formular angezeigt werden. Dann kann ich auf die ID zugreifen, die angegeben wird. Sehen wir uns das einmal an: Wenn ich auf bearbeiten hier gehe, dann sehe ich "id=3", und auf diese ID kann ich zugreifen, um den richtigen Datensatz zu ermitteln. Das sehen Sie an dieser Stelle, where "id=?" und die wird eben da ausgelesen. Dann führe ich das ganze aus, die Ergebnisse binde ich an diese Variablen, dann verwende ich "fetch", um ein einzelnes Ergebnis zu erhalten. Wenn Sie mehrere Ergebnisse haben, beispielsweise, weil Sie alle Datensätze anzeigen lassen wollen, dann müssen Sie dieses "fetch" innerhalb einer while-Schleife verwenden. In unserem Fall gibt es nur einen Datensatz, deshalb brauchen wir es nicht innerhalb von "while". Titel und Text behandeln wir sicherheitshalber mit "htmlspecialchars", bei der ID sorgen wir dafür, dass sie wirklich ein Integer ist, und dann tragen wir diese Daten in das Formular ein. Den Begriff selbst schreiben wir als "value" in das input-Feld an dieser Stelle. Die Beschreibung soll innerhalb eines textarea-Elements stehen, das heißt, die steht zwischen textarea-Anfang und textarea-Ende. Und auf das versteckte Feld komme ich noch. OK, damit haben wir unser Formular, wo alle Daten drinnen stehen. Wenn jetzt der Benutzer das absendet, sind wir im else-Zweig, und wollen das Update durchführen, und da gibt es eine Besonderheit. Wir wollen natürlich den richtigen Datensatz updaten, und dafür benötigen wir die ID. Die ID haben wir aber eigentlich nicht mehr an dieser Stelle, wenn das Formular abgesendet wurde, und damit wir sie wieder haben, steht die an dieser Stelle in einem versteckten Feld. Ein verstecktes Feld ist vom type "hidden", und es ist in der normalen Browseransicht nicht zu sehen, aber man sieht es natürlich im Quellcode. Wenn wir uns das kurz ansehen, dann sieht man im Seitenquelltext das versteckte Feld an dieser Stelle, mit "name="id"", "value="3"", und das ist natürlich eine Information, die wir dann auslesen können. Damit können wir unser Update formulieren, bereiten es vor, wir binden die Parameter, führen es aus, schließen alles, und führen dann eine Umleitung zur Anzeigenseite durch. Damit können wir unser Update formulieren, das heißt, wir bereiten es vor, wir binden die Parameter, wir führen es aus, und dann schließen wir sowohl das prepared statement als auch mysqli. An dieser Stelle, wenn das dann alles geklappt hat, führen wir dann eine Umleitung auf die Seite anzeigen.php durch. Das ist hier oben definiert, auf diese Seite leiten wir um. Eine Umleitung gibt es noch an anderer Stelle, nämlich hier. Wenn nämlich die Seite aufgerufen wird, und das Formular wurde noch nicht abgesendet, dann brauchen wir natürlich unbedingt die ID, um zu wissen, welchen Datensatz wir bearbeiten wollen, und wenn diese ID nicht vorhanden ist, das ist diese Überprüfung, dann findet ebenfalls eine Umleitung auf die anzeigen.php-Seite statt. Der Bearbeitungsvorgang bedeutet, dass wir zwei Aktionen durchführen. Zum einen erstellen wir das Formular mit den eigentlichen Inhalten, und wenn das Formular abgesendet ist, dann führen wir den eigentlichen Updatevorgang durch. Bemerkenswert an diesem Script sind auf jeden Fall zwei Sachen: Zuerst einmal haben Sie gesehen, dass Sie "fetch" auch direkt, das heißt, nicht innerhalb einer while-Schleife aufrufen können, wenn Sie nur genau einen Datensatz benötigen. Außerdem ist bemerkenswert, wie wir hier die ID, die wir für den Update-Vorgang brauchen, über ein verstecktes Feld übergeben.

Datenbanken und PHP Grundkurs

Erfahren Sie alles, was Sie brauchen, um mit PHP Datenbanken anzusprechen, Daten einzutragen, zu verändern, zu löschen und abzufragen.

1 Std. 44 min (29 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:11.01.2017

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!