Keeping old technology alive - since 2012
Startseite ¦ Infoportal ¦ Downloads ¦ Newsfeed ¦ Galerie ¦ Kontakt
Programmieren # Speichern eines HTML-Formulars in einer MySQL-Datenbank mit PHP
Bevor wir beginnen, stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllen:
- Ein funktionierender Webserver (z.B. via XAMPP Projekt)
- PHP installiert und aktiviert
- MySQL-Datenbank eingerichtet
- Minimale Kenntnisse in HTML, PHP und SQL
Datenbank einrichten
Erstellen Sie eine MySQL-Datenbank und eine Tabelle, um die Formulardaten zu speichern. Angenommen, wir erstellen eine Datenbank form_data und eine Tabelle submissions mit den Feldern id, name, email und message.
Codeblock:
HTML-Formular erstellen
Erstellen Sie eine einfache HTML-Seite mit einem Formular, das die Benutzerinformationen erfasst.
Codeblock:
PHP-Skript zum Speichern der Daten
Erstellen Sie die Datei submit.php, um die Formulardaten zu verarbeiten und in die MySQL-Datenbank zu speichern.
Codeblock:
Schutz vor SQL-Injection
Eine der häufigsten und gefährlichsten Sicherheitslücken in Webanwendungen ist SQL-Injection. Es ist entscheidend, die Benutzereingaben zu bereinigen und vorzubereiten, um zu verhindern, dass böswilliger SQL-Code ausgeführt wird.
Im obigen Beispiel wird real_escape_string verwendet, um spezielle Zeichen in den Eingaben zu maskieren. Eine noch sicherere Methode ist die Verwendung von vorbereiteten Anweisungen (Prepared Statements).
Codeblock:
Prepared Statements sind eine Methode zur sicheren und effizienten Ausführung von SQL-Abfragen. Sie bestehen aus zwei Schritten: der Vorbereitung der Abfrage und der späteren Ausführung mit den tatsächlichen Daten.
Vorteile
- Sicherheit: Prepared Statements schützen vor SQL-Injection, indem sie Benutzereingaben von der SQL-Abfrage trennen.
- Effizienz: Bei wiederholter Ausführung derselben Abfrage müssen nur die Daten übergeben werden, nicht die gesamte Abfrage.
- Einfachheit: Der Code ist übersichtlicher, da SQL-Abfragen und Daten getrennt behandelt werden.
Funktionsweise
- Vorbereitung: Die SQL-Abfrage wird mit Platzhaltern (? oder benannten Parametern) an die Datenbank gesendet. Die Datenbank analysiert und kompiliert die Abfrage.
- Ausführung: Die tatsächlichen Werte werden an die vorbereitete Abfrage gebunden und die Abfrage wird ausgeführt.
Durch diese Trennung wird sichergestellt, dass Eingabedaten nicht als Teil der SQL-Abfrage interpretiert werden, was SQL-Injection verhindert.
Zusammenfassung
In diesem Tutorial haben wir ein einfaches HTML-Formular erstellt und die Eingabedaten mithilfe von PHP in einer MySQL-Datenbank gespeichert. Wir haben auch Maßnahmen zum Schutz vor SQL-Injection getroffen, indem wir vorbereitete Anweisungen verwendet haben.
Es ist wichtig, immer sichere Programmierpraktiken anzuwenden, um Ihre Webanwendungen vor potenziellen Sicherheitsbedrohungen zu schützen. Bereinigen und validieren Sie immer Benutzereingaben und verwenden Sie vorbereitete Anweisungen, wann immer möglich.
Viel Erfolg beim Programmieren!
Diesen Beitrag auf der neuen Seite lesen. »
Bisher gab es 744.121 Besucher.
< Zurück | = Nach oben | > Neue Seite
very old retrospace
by freaked
Copyright © 2012-2025