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

PHP 5.4 & MySQL 5.6 Grundkurs

MiniCMS erstellen

Testen Sie unsere 2021 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
In diesem Video sehen Sie, wie Sie eine kleine Verwaltungsoberfläche für News programmieren. Mit dabei ein Formular, in das Sie Neuigkeiten eintragen, Inhalte bearbeiten oder löschen können.

Transkript

Das hier ist ein Mini Content Management System. Darüber kann man Inhalte eingeben. Hier ist der Link neu. Und man kann bestehende bearbeiten und auch löschen. Für manche Webseiten ist ein richtiges Content Mangement einfach zu viel. Und so eine kleine feine Lösung angemessener. Um so etwas zu erstellen, müssen wir erst einmal die Tabelle und die Datenbank anlegen. Also, hier in phpMyAdmin habe ich jetzt angelegt eine Datenbank News. Die könnte natürlich auch anders heißen. Und ich habe eine Tabelle erstellt. Die enthält als Feld eine ID, einen Titel und einen Text. Das könnte man natürlich auch variieren. Und ich habe auch schon ein paar Eintragungen dafür vorgenommen. Das hier ist jetzt die Darstellung des Content Management Systems. Hier werden jetzt gerade alle Inhalte ausgegeben. Man kann die z.B. hier bearbeiten und so weiter. Sofort kann ich hier den Text ergänzen. Der erscheint hier. Ich kann natürlich auch einen Eintrag einfach löschen. Dann ist der weg. Das ist die Funktionalität, die wir hier jetzt nachbauen. Als Erstes wollen wir mal diese Ansicht bauen, wo einfach alle Inhalte ausgegeben werden und wo es auch einen Link gibt zum Bearbeiten und zum Löschen. Hier sehen Sie das Skript zur Anzeige dieser Daten. Als Erstes gibt es ein paar grundlegende Formatierungen. Das kann man natürlich auch noch erweitern. Dann werden die Zugangsdaten etc. hierüber eingebunden. Sie sehen die hier. Da wird jetzt das MySQL-Objekt erstellt. Es wird geschaut, ob es keinen Fehler gibt bei der Verbindung und auch der Zeichensatz gesetzt. Das brauche ich natürlich bei den anderen Skripten auch. Deswegen ist es gut, das auszulagern. Dann möchte ich an dieser Stelle alle Inhalte ausgeben lassen. Das mache ich hier über Prepared Statements. Hier wird sie vorbereitet, die Anweisung. Dann wird sie ausgeführt und die Ergebnisse hier dran gebunden. Und FETCH liefert mir die einzelnen Ergebnisse, die dann hier mit HTMLSPECIALCHARS behandelt ausgegeben werden. Eine Besonderheit gibt es jetzt noch. Weil Sie sehen hier, bei jeder der Eintragungen gibt es einen Link zum Bearbeiten und zum Löschen. Damit ich dann immer weiß, welcher Datensatz gelöscht werden soll, übergebe ich dem die ID. Ich zeige das jetzt einmal hier. Ich muss das ein bisschen kleiner machen. Wenn Sie hier einmal unten hin schauen in die Statusleiste, dann sehen Sie den Text des Linkes ganz praktisch im Firefox. Da steht jetzt beispielsweise ID = 1. Oder hier steht ID = 2. Genau so auch bei den Löschen-Link. Und hier auch. Das hier müssen wir für jeden Datensatz erzeugen. Das mache ich, indem ich hier einen Link erstelle und selber einen Query-String dran hänge. Mit dem Fragezeichen. Ich habe das dann ID genannt. Wo greift das zu? Auf die ID, die ich aus der Datenbank ausgelesen habe. Sicherheitshalber behandle ich diese mit INT, weil das könnte auch ein Benutzer manipulieren, damit ich hier nur Zahlen habe. Und genau dasselbe mache ich auch für den Löschen-Link. Und am Schluss sehen Sie, dass es außerdem einen Link gibt auf das Skript neu, das dazu dient, neue Eintragungen vorzunehmen. Sehen wir uns an, wie das geht, dass neue Eintragungen vorgenommen werden. Dafür ist das Skript neu verantwortlich. Wenn ich das aufrufe, dann wird hier - das mache ich einmal - einfach ein Formular angezeigt, in dem ich etwas eingeben kann. Dieses Formular wird hier erstellt. Sie sehen hier das Formular mit den Feldern. Dieses Formular soll aber jetzt nur angezeigt werden, wenn es nicht schon gerade ausgefüllt ist. Das wird hierüber überprüft. Wenn das leer ist, was im Post-Title steht, dann lasse ich mein Formular ausgeben. Wenn das nicht leer ist, heißt das, dass jemand hier schon etwas eingetragen hat und auf den Button Daten absenden geklickt hat. Was passiert dann? Dann verwende ich eine vorbereitete Anweisung hier und trage meine Inhalte ein. Wie immer bei vorbereiteten Anweisungen, habe ich zuerst das PREPARE, dann binde ich meine Parameter und mit EXECUTE führe ich das Ganze aus. In diesem Fall, wenn jetzt jemand hier auf Daten absenden geht, soll er direkt wieder auf die Startseite umgeleitet werden. Dafür sorgt diese Funktion hier. Header und Location gebe ich jetzt an, wohin ich umgeleitet werden möchte. Die Angaben dazu habe ich hier oben im Skript definiert. Und Sie sehen anzeigen.php. Das ist die erste Seite, auf die wird man umgeleitet, wenn man etwas eingetragen hat. Testen wir das auch einmal. Hier schreibe ich genau "ein neuer Eintrag". Und noch einen Text dazu. Gehe hier auf Daten absenden. Und Sie sehen, man landet dann wieder auf dieser Startseite. Wenn man auf löschen klickt, dann geht das über diesen Link hier. Schauen wir uns jetzt das Skript an, das dafür verantwortlich ist. Das Skript hat auch den passenden Namen Löschen. Zuerst braucht es natürlich auch diese Daten - die Verbindungsdaten. Überprüft jetzt hier, das ist das Entscheidende, ob die ID gesetzt wird. Wenn ich hier auf so einen Löschen-Link klicke, dann wird hier ein Query-String dran gehängt. Da steht dann ID = 2. Und auf den kann ich hierüber zugreifen. Außerdem überprüfe ich auch, ob der numerisch ist. Wenn dieser Parameter nicht gesetzt ist, oder nicht nummerisch ist, dann mache ich sofort wieder eine Umleitung auf die Startseite. Wenn der hingegen gesetzt ist, dann verwende ich so eine vorbereitete Anweisung, um den entsprechenden Datensatz zu löschen. Also entscheidend hier ID = ?. Und das ist der Wert, den ich aus GET ausgelesen habe. Und wenn ich das hier gelöscht habe, dann mache ich wieder eine Umleitung auf die Startseite. Was noch fehlt, ist das Skript zum Bearbeiten. Das ist eigentlich das komplizierteste, weil es verschiedene Sachen tun muss. Zum einen, wenn ich erst einmal drauf klicke, dann muss es mir den aktuellen Datensatz, den ich hier ausgewählt habe, auch anzeigen. Das heißt, der muss hier wirklich in das Formular rein geschrieben werden. Und dann muss natürlich, wenn hier eine Änderung stattfindet, auch ein Update durchgeführt werden, also der Datensatz auch wirklich verändert werden. Hier sehen Sie das Skript Bearbeiten. Wenn POSTIT leer ist, dann soll das Formular angezeigt werden. Aber bevor ich dieses Formular anzeigen lassen kann, muss ich natürlich erst einmal den richtigen Datensatz auslesen, der hier in dem Formular angezeigt werden soll. Und das mache ich über die ID, die mir übergeben wird, über diesen Query-String hier. Aber ich muss natürlich schauen, ob das eine vernünftige ID ist, und ob die überhaupt gesetzt ist. Und das findet hier statt. Diese Überprüfung. Hier eben auch, ob die numerisch ist. Dann kann ich mein Formular erstellen. Und Sie sehen, hierüber werden die Inhalte hinein geschrieben. Wenn das Formular hier aber jetzt angezeigt wurde und jemand hat die Änderung durchgeführt, dann muss ich mein Update stattfinden lassen. Das findet in diesem ELSE-Zweig statt. Wieder über Prepared Statements. Das heißt, ich habe zuerst Prepare. Dann binde ich meine Parameter und führe das Ganze aus. Wenn das dann geklappt hat, gibt es wieder eine Umleitung auf die Startseite. Hier sehen Sie auch noch einmal schön, da hab ich das aufgerufen, dass, wenn ich dieses Bearbeiten aufrufe, dann habe ich meinen Link so gestellt, dass hier auch die ID des Datensatzes übergeben wird, der bearbeitet werden soll. Und wenn jetzt hier jemand etwas geändert, oder sonst geschrieben hat und es wieder absendet, dann sind wir hier wieder auf der Startseite. Ein solches Mini-CMS können Sie dank Datenbank leicht erstellen. Merken sollten Sie sich den Trick, wie die richtigen Datensätze anhand ihrer ID identifiziert werden, und dass Sie selbst bei Links einen Query-String übergeben können. Das können Sie auch noch bei anderen Projekten gut einsetzen.

PHP 5.4 & MySQL 5.6 Grundkurs

Steigen Sie auch ohne Vorwissen in die Programmierung PHP- & MySQL-basierter Webseiten ein und lernen Sie die Sprachgrundlagen wie Bedingungen, Schleifen, Funktionen usw. kennen.

7 Std. 9 min (86 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

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!