Eine Einführung in PHP und MySQL | Dave Hollingworth | Skillshare

Playback-Geschwindigkeit


1.0x


  • 0.5x
  • 0.75x
  • 1x (normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Eine Einführung in PHP und MySQL

teacher avatar Dave Hollingworth, IT Trainer

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Einheiten dieses Kurses

    • 1.

      Einführung

      2:12

    • 2.

      Deine Entwicklungsumgebung einrichten: Installiere empfohlene Software

      1:24

    • 3.

      Eine HTML-Datei erstellen und im Browser anzeigen

      2:17

    • 4.

      Ein Formular mit einer einfachen Texteingabe und einem zugehörigen Label hinzufügen

      3:10

    • 5.

      Verschiedene Arten von Steuerelementen für die Eingabe von Text hinzufügen

      2:49

    • 6.

      Ein CSS-Stilblatt hinzufügen, um dem Formular einfach Formatierung hinzuzufügen

      1:30

    • 7.

      Ein Steuerelement hinzufügen, um einen Wert aus einer Dropdown-Liste auszuwählen

      1:35

    • 8.

      Steuerelemente hinzufügen, um einen Wert aus einer Reihe von Optionen auszuwählen

      3:25

    • 9.

      Eine Steuerung hinzufügen, um zwischen zwei sich gegenseitig exklusiven Optionen zu wählen

      1:06

    • 10.

      Eine Schaltfläche und Attribute hinzufügen, um die Daten des Formulars an den Server zu senden

      2:28

    • 11.

      Eine Datei hinzufügen, um die übermittelten Formulardaten zu verarbeiten und zu ändern, wie sie gesendet werden

      2:50

    • 12.

      Ändern der Werte, die von den Auswahl-, Radio- und Checkbox-Eingängen gesendet wurden

      3:10

    • 13.

      Fehler vermeiden, wenn ein Wert nicht Teil der Formulardaten ist

      2:17

    • 14.

      Wenden Sie einen Filter auf die Formularwerte an und validieren Sie den Datentyp und den Bereich

      3:32

    • 15.

      Filtere die Checkbox-Eingabe und filtere optional die Werte in ein Array

      3:45

    • 16.

      Die Formulardaten validieren und eine Validierungsmeldung ausgeben, wenn Ungültig

      4:58

    • 17.

      Das Formular mit der clientseitigen Validierung im Browser validieren

      3:22

    • 18.

      Eine Datenbank erstellen, um die Daten aus dem Formular zu speichern

      1:48

    • 19.

      Eine Tabelle in der Datenbank erstellen, um Ticketaufzeichnungen zu speichern

      1:28

    • 20.

      Verbinde dich von PHP mit der Datenbank

      3:21

    • 21.

      Einen neuen Eintrag von PHP in die Datenbank einfügen

      4:36

    • 22.

      String-Werte manuell entfernen, um einen SQL-Injection-Angriff zu vermeiden

      3:47

    • 23.

      Verwende eine vorbereitete Aussage, um einen neuen Datensatz einzufügen

      4:23

    • 24.

      Verwende das Post-Redirect-Get Pattern, um doppelte Formulareinreichungen zu vermeiden

      3:53

    • 25.

      Dein Kursprojekt: Erstelle ein Formular und speichere die Formulardaten in einer Datenbank

      1:22

    • 26.

      Schlussbemerkung

      1:02

  • --
  • Anfänger-Niveau
  • Fortgeschrittenes Niveau
  • Fortgeschrittenes Niveau
  • Jedes Niveau

Von der Community generiert

Das Niveau wird anhand der mehrheitlichen Meinung der Teilnehmer:innen bestimmt, die diesen Kurs bewertet haben. Bis das Feedback von mindestens 5 Teilnehmer:innen eingegangen ist, wird die Empfehlung der Kursleiter:innen angezeigt.

241

Teilnehmer:innen

--

Projekt

Über diesen Kurs

Daten von einem Formular in einem Webbrowser in eine Datenbank auf dem Server zu bekommen, ist eine Schlüsselfertigkeit für jeden Webentwickler. In diesem Kurs lernst du, wie du ein Formular in HTML erstellst, wie du die Daten in PHP validieren und wie du es in einer MySQL-Datenbank speichern kannst.

Kurz gesagt, spezifische Lektionen, wirst du lernen:

  • So erstellst du ein Formular in HTML
  • Verschiedene Arten von Eingabesteuerelementen für verschiedene Datentypen
  • So validierst du die Formulardaten in PHP
  • Verschiedene Techniken zum Speichern der Daten in einer MySQL-Datenbank
  • So machst du all dies sicher und sicher.

Dieser Kurs ist für Anfänger in der Webentwicklung, die eine der grundlegenden Fähigkeiten erlernen müssen, wenn sie eine Website erstellen – Daten von einem Besucher auf deine Website in eine Datenbank auf dem Server zu bringen.

Im Kursprojekt erstellst du dein eigenes Formular in HTML, verarbeitest die Daten dieses Formulars in PHP und speicherst es in einer MySQL-Datenbank.

Grundkenntnisse in HTML, PHP und SQL werden empfohlen, aber der gesamte Code, der in den Videos gezeigt wird, wird vollständig erklärt, zusammen mit Links zu der relevanten Dokumentation, wenn nötig.

Darüber hinaus ist der gesamte Quellcode, der in den Videos gezeigt wird, zum Herunterladen verfügbar. Wenn du direkt Hilfe von mir benötigst, kannst du eine Frage im Diskussionsbereich stellen.

Triff deine:n Kursleiter:in

Teacher Profile Image

Dave Hollingworth

IT Trainer

Kursleiter:in

Hi, I'm Dave Hollingworth. I'm an IT trainer and web application developer. I've been writing code and teaching IT for over twenty years.

I've developed enterprise-level applications on platforms ranging from mainframes to mobiles: from my first web application, a quotes system created for a major insurance company back in 1999 - the first of its type in the sector - to interactive learning management systems for online language learning.

I've taught courses ranging from basic use of email to advanced web application development, both online and in-person.

I'm passionate about technology, and love teaching it! I believe it's possible to explain even the most complex subjects in a simple, straightforward way that doesn't confuse the student.

I look forward to ... Vollständiges Profil ansehen

Skills dieses Kurses

Entwicklung Programmiersprachen PHP
Level: All Levels

Kursbewertung

Erwartungen erfüllt?
    Voll und ganz!
  • 0%
  • Ja
  • 0%
  • Teils teils
  • 0%
  • Eher nicht
  • 0%

Warum lohnt sich eine Mitgliedschaft bei Skillshare?

Nimm an prämierten Skillshare Original-Kursen teil

Jeder Kurs setzt sich aus kurzen Einheiten und praktischen Übungsprojekten zusammen

Mit deiner Mitgliedschaft unterstützt du die Kursleiter:innen auf Skillshare

Lerne von überall aus

Ob auf dem Weg zur Arbeit, zur Uni oder im Flieger - streame oder lade Kurse herunter mit der Skillshare-App und lerne, wo auch immer du möchtest.

Transkripte

1. Einführung: Eine Website kann verwendet werden, um einem Besucher nur einige Informationen zu zeigen, wie einem Magazin, einer neuen Website oder Wikipedia. Wenn Sie jedoch einige Daten vom Besucher abrufen möchten , z. B. einen Kommentar, einen Suchbegriff oder eine Zuweisung pro Farm, einen Suchbegriff oder eine Zuweisung pro Farm, benötigen Sie eine Farm. Farm ermöglicht es dem Benutzer der Website, Ihnen einige Daten zu senden. Sobald Sie diese Daten zumindest auf dem Webserver haben , speichern Sie diese Daten höchstwahrscheinlich in einer Datenbank. Zu wissen, wie Daten vom Benutzer in Ihre Datenbank gelangen, ist eine entscheidende Fähigkeit für unseren Webentwickler. Am Ende dieser Klasse wissen Sie, wie Sie eine Farm in HTML erstellen. So verarbeiten Sie die Daten von dieser Farm auf dem Webserver in PHP, um sicherzustellen, dass sie gültig sind. Und wie man diese Daten sicher in einer MySQL-Datenbank speichert. Dies verwendet Best Practices und Industriestandards für den Code. Hallo, ich bin Dave schleppen wert. Ich schreibe seit 1998 Webanwendungen und unterrichte seit 2012 online Webentwicklung. Dieser Kurs richtet sich an Anfänger in der Webentwicklung, die beim Erstellen einer Website eine der grundlegenden Fähigkeiten erlernen müssen einer Website eine der grundlegenden Fähigkeiten erlernen . Daten von einem Besucher Ihrer Website in eine Datenbank auf dem Server abrufen . Im Klassenprojekt erstellen Sie Ihre eigene Farm in HTML, verarbeiten die Daten aus dieser Farm in PHP und speichern sie in einer MySQL-Datenbank. Grundkenntnisse in HTML, PHP und SQL werden empfohlen. Aber ich erkläre den gesamten Code, den ich verwende zusammen mit Links zu relevanten Dokumentationen , wo Sie weitere Details erhalten. Darüber hinaus steht der gesamte in den Videos gezeigte Quellcode zum Download zur Verfügung. Wenn Sie direkt Hilfe von mir benötigen, können Sie im Diskussionsbereich eine Frage stellen. Kurzerhand. Lasst uns anfangen. 2. Richte deine Entwicklungsumgebung: Installieren von empfohlenen Software: Um das Beste aus der Klasse herauszuholen, empfehle ich Ihnen, den in den Videos gezeigten Code selbst zu schreiben und auszuführen. Um dies zu tun, benötigen Sie einen Webserver, PHP und einen Datenbankserver installiert. Ich benutze den Apache-Webserver mit PHP und dem MariaDB-Datenbankserver. Mariadb ist voll kompatibel mit MySQL. All dies ist völlig kostenlos herunterzuladen und zu verwenden. Sie können diese separat installieren. Am einfachsten ist es jedoch, ein Paket zu installieren , das einen Webserver, PHP, einen Datenbankserver und optional PHP, meinen Admin für die Verwaltung der Datenbank, enthält PHP, einen Datenbankserver und optional PHP, meinen . Für Windows und Linux empfehle ich x AMP zu installieren. Wählen Sie einfach den entsprechenden Download für Ihr Betriebssystem hier auf der offiziellen Website und befolgen Sie die Installationsanweisungen. Für Mac empfehle ich MAMP. Laden Sie auch einfach das MAMP-Installationsprogramm von der offiziellen Website herunter und folgen Sie den Anweisungen. Beachtet, dass MAMP die kostenlose Version ist und MAMP Pro die kostenpflichtige Version ist. Die kostenlose MAMP-Version ist jedoch mehr als genug für die Anforderungen dieser Klasse. 3. Erstelle eine HTML-Datei und siehst sie in dem Browser: Beginnen wir damit, eine HTML-Datei zu erstellen , die schließlich eine Farm enthält. Dies ist der Stammordner meines Webservers. Wenn Sie eines der zuvor empfohlenen Pakete verwenden , wie XML MAMP, wird hier der Standardordner für Windows, Mac oder Linux angezeigt. Sie können dies jedoch in einen anderen Ordner ändern oder einen Unterordner verwenden, wenn Sie dies bevorzugen. Lassen Sie uns hier eine neue Datei namens Farm Dot HTML erstellen. Dies wird den HTML-Code für die Farm enthalten. Lassen Sie uns zum Beispiel eine Farm erstellen, die Sie möglicherweise zum Einreichen eines Support-Tickets haben. Bevor wir die Farm erstellen, fügen wir einfach den grundlegenden HTML-Code hinzu, den wir zum Erstellen eines HTML-Dokuments benötigen. Wir beginnen mit dem Dokumenttyp, der dem Browser mitteilt, dass der folgende Code gültiges HTML ist. Wir brauchen dies, weil es sich darauf auswirkt, wie der Browser diesen Code interpretiert. Dann fügen wir ein HTML-Tag hinzu, das das Container-Tag für den Rest des HTML ist. Hier drin fügen wir ein head-Tag und hier ein Titel-Tag hinzu. Dieser Titel wird in der Titelleiste der Registerkarte im Browser angezeigt . Wir werden Support als Titel der Seite angeben. Auch innerhalb des head-Tags fügen wir ein Meta-Tag hinzu, das die Zeichensätze dieses Dokuments als UTF-8 angibt. Dies ermöglicht es uns, Zeichen aus nicht-englischen Alphabeten ohne Probleme zu verwenden . Nach dem Head-Tag fügen wir ein Body-Tag hinzu. Der HTML-Code hier wird gerendert, um im Hauptbrowserfenster angezeigt zu werden. Fügen wir vorerst einfach ein Headerelement der ersten Ebene hinzu, das den Text enthält. Reichen Sie ein Ticket ein. Werfen wir einen Blick auf das im Browser. Wenn ich diesen Dateinamen an der lokalen Hostadresse angebe, sehen wir den Inhalt aus dieser Datei. Der Titel im Tab stammt aus den Titelelementen. Und im Hauptteil des Dokuments haben wir nur das Header-Element. 4. Ein Formular mit einer einfachen Texteingabe und assoziiertes Label hinzufügen: Als Nächstes fügen wir der Seite ein einzelnes Eingabesteuerelement hinzu. zuerst im Körper Fügen wir zuerst im Körper ein Farmelement hinzu. Dann werden darin Eingabeelemente hinzugefügt, beide ohne Attribute. Vorerst. Der Browser. Dies zeigt eine einfache Texteingabe , in die wir Text eingeben können. Dieser einfache Texteingabetyp ist der Standardwert. Wenn wir keinen Typ angeben. Wenn wir dem Eingabeelement das type-Attribut hinzufügen und Text als Wert angeben, sehen wir dasselbe im Browser. Wenn ich Texteingaben wie diese verwende, ziehe ich es vor, den Typ anzugeben , obwohl dies der Standardwert ist, da viele verschiedene Arten von Eingaben verfügbar sind, die wir in Kürze sehen werden. Als Nächstes fügen wir dieser Eingabe ein Label hinzu, damit der Benutzer weiß, was er eingeben soll. Beginnen wir damit, einfach etwas Text vor das Eingabeelement zu schreiben. Im Browser. Wir sehen diesen Text vor den Eingaben, und es ist nur Text. Das ist in Ordnung, aber wir können das verbessern. Lassen Sie uns diesen Text mit einem Labelelement umgeben. Dies hat keinen Einfluss darauf, wie die beschrifteten Texte aussehen, aber es wirkt sich darauf aus, wie sie funktionieren. Wir verknüpfen dieses Label mit einer Eingabe, indem der Eingabe zuerst ein ID-Attribut hinzufügen. Ich gebe es auf den Wert von name. Beachten Sie, dass der Wert dieses Attributs innerhalb des HTML-Dokuments eindeutig sein muss. Dann fügen wir dem Label vier Attribute geben den Wert als ID der Eingabe an. Wir möchten dies mit dem Browser beschriftet verknüpfen. Wir können sehen, dass sich visuell nichts geändert hat. Wenn ich jedoch auf den Beschriftungstext klicke, wird der Eingabefokus auf die Texteingabe gelegt und wir können mit der Eingabe beginnen. Darüber hinaus die Verknüpfung eines Labels mit einer solchen Eingabe macht die Verknüpfung eines Labels mit einer solchen Eingabe die Farm für Besucher zugänglicher , die unterstützende Technologien wie Bildschirmleser verwenden, später sehen andere Weise, dass die Möglichkeit, auf Labels wie diese zu klicken , um eine Eingabe zu aktivieren, die Farm einfacher zu verwenden. Daher benötigt jede Eingabe der Farm ihre eigenen zugehörigen Labelelemente , damit die Farm einfacher zu verwenden ist. Beachten Sie abgesehen, dass dieses Eingabeelement zwei Attribute aufweist. Wie Sie wissen, können Sie Attribute in jedem anderen angeben. Da sich das type-Attribut jedoch den Typ der angezeigten Eingabe auswirkt, ziehe ich es vor, das type-Attribut für Eingabeelemente immer an die erste Stelle zu setzen . Wie es klarer macht, wenn Sie eine Farm mit mehreren Eingaben haben. 5. Verschiedene Kontrollen: die Eingabe von Text hinzufügen: Bisher haben wir in unserer Farm eine einzige Texteingabe. Als Nächstes fügen wir weitere Eingaben zum Hinzufügen von Text hinzu. Es gibt mehrere Eingabetypen, die hier aufgeführt sind. Wir werden uns später einige der Nicht-Text-Typen ansehen. Wir haben bereits eine Texteingabe verwendet, aber es gibt einige andere , die genau gleich aussehen. Zum Beispiel Schwanz, Nummer und E-Mail. Diese sehen genauso aus wie eine normale Texteingabe, haben jedoch unterschiedliche Funktionen. Fügen wir der Farm eine weitere Eingabe hinzu. Diesmal gibt es eine E-Mail-Typ-Eingabe , damit der Benutzer seine E-Mail-Adresse eingeben kann. Mit der Namenseingabe wird ein zugeordnetes Labelelement hinzugefügt, es mit der Eingabe verknüpft, indem das for-Attribut mit dem Attribut „ Inputs ID“ übereinstimmt . Der Browser. Es gibt das Eingabe-Steuerelement. Und wenn wir auf das Label klicken, wird der Eingabefokus im Steuerelement platziert. Die Eingabe sieht genauso aus wie normale Texteingaben und verhält sich auf die gleiche Weise. Der Unterschied besteht darin, dass beim Anzeigen der Farm auf einem mobilen Gerät mit Bildschirmtastatur eine normale Texteingabe die Standardtastatur verwendet. Die Tastatur für E-Mail-Eingaben wird jedoch geringfügig unterschiedlich sein. Zum Beispiel ist das At-Zeichen verfügbar und auch auf einigen Geräten, ein Schlüssel, der automatisch zu dem hinzufügt, was Sie eingeben. Es ist ähnlich für eine Zahl oder Telefoneingänge. Die Tastatur ändert sich, um das Einfügen des Datentyps zu erleichtern , der in diese bestimmte Eingabe erwartet wird. Ein weiterer Vorteil dieser Texte wie Eingabetypen besteht darin, dass wir den Inhalt der Eingaben im Browser vor dem Absenden der Farm validieren können . Wir schauen uns das später an. Eine Sache, die Ihnen vielleicht aufgefallen ist, ist, dass diese Texteingabearten nur eine Textzeile zulassen. Um eine Texteingabe hinzuzufügen, die mehr als eine Textzeile zulässt, verwenden wir ein Textbereichselement. Fügen wir der Farm eine hinzu, mit der der Benutzer eine Beschreibung seiner Tickets hinzufügen wird . Wie bei den anderen Eingaben fügen wir auch ein zugehöriges Label hinzu. Beachten Sie, dass dies kein Eingabeelement mit einer Art von Textbereich ist. Es ist ein Textbereichselement. Und im Gegensatz zu einem Eingabeelement müssen Sie die öffnenden und schließenden Tags haben. Im Browser. Der Textbereich wird mit mehr als einer Zeile angezeigt. Und Sie können die Eingabetaste drücken, wenn Sie dieses Steuerelement eingeben , um eine neue Zeile hinzuzufügen. 6. Ein a hinzufügen, um die Formatierung in das Formular zu hinzufügen: Bevor wir uns mehr Arten von Eingaben ansehen, fügen wir dieser Farm etwas Styling , damit es einfacher ist zu sehen, was los ist. Styling mit CSS geht über den Rahmen dieser Klasse hinaus. Zwei schnelle Möglichkeiten, Stile beim Entwickeln einer Farm hinzuzufügen, besteht jedoch darin, ein vorhandenes CSS-Framework zu verwenden. Einige davon wie Bootstrap zum Beispiel erfordern, dass Sie Ihren HTML-Elementen Containerelemente und Klassen hinzufügen , damit die Stile angewendet werden. Eine noch schnellere Art des Styling der Farm, damit Sie sich auf die Funktionalität konzentrieren können, besteht jedoch damit Sie sich auf die Funktionalität konzentrieren können darin, ein klassenloses CSS zu verwenden. Es gibt viele davon, und Sie können diese verwenden, indem Sie einfach die CSS-Datei in das HTML aufnehmen. In dieser Klasse werden wir Wasser-CSS benutzen. Sie können das CSS herunterladen und lokal bereitstellen. Ich füge das Stylesheet direkt von einem CDN ein, was wir tun werden. Wir kopieren diese Codezeile und fügen sie in das Head-Element unseres HTML ein. Jetzt im Browser hat die Farm ein schönes Styling, hat die Farm ein schönes Styling ohne dass wir Klassen hinzugefügt haben müssen, einschließlich der Hervorhebung, wann das Eingabesteuerelement den Fokus hat. 7. Füge ein Kontrollen, um einen Wert aus einer Drop-down-Liste zu wählen: Mit Textsteuerelementen kann der Benutzer einen beliebigen Wert eingeben. Fügen wir ein Steuerelement hinzu , bei dem der Benutzer aus einer vordefinierten Werteliste auswählen kann . Für eine Werteliste verwenden wir ein Select-Element. Jede Option innerhalb der Liste ist ein Optionselement. Fügen wir drei Optionen für die Priorität des Tickets hinzu: niedrig, normal und hoch. Bevor wir uns dies ansehen, fügen wir ein zugehöriges Label hinzu. Der Browser. Das Select-Element wird als Dropdown-Liste angezeigt , in der Sie eine der bereitgestellten Optionen auswählen können . Wenn ich die Seite erneut lade, halte die linke Umschalttaste auf der Tastatur gedrückt , um die Farm zurückzusetzen. Beachten Sie, dass beim ersten Laden der Seite standardmäßig die erste Option ausgewählt ist. Sie können diese Standardeinstellung ändern, indem das ausgewählte Attribut zur entsprechenden Option hinzufügen. Fügen wir es zum Beispiel zur normalen Option hinzu. Jetzt im Browser. Die zweite Option ist standardmäßig ausgewählt. Wenn dies also nicht geändert wird, ist dies der Wert, der beim Absenden des Formulars gesendet wird . Sie können beliebig viele Optionen in der Auswahlliste haben , da die Liste mit Bildlaufleisten angezeigt wird , wenn sie zu lang für den Bildschirm ist. 8. Steuerungen hinzufügen, um einen Wert aus einer Reihe von Optionen zu wählen: Mit dem Auswahlsteuerelement wird die Liste der Optionen nur in einer Dropdown-Liste angezeigt , wenn Sie auf das Steuerelement klicken. Auf diese Weise können Sie bei Bedarf viele Elemente in dieser Liste haben . Zum Beispiel eine Liste von Ländern. Wenn Sie eine kleine Anzahl von Optionen haben und möchten, dass diese immer in der Farm sichtbar sind. Eine Alternative dazu ist die Verwendung von Optionsfeldern. Optionsfeld ist ein Eingabeelement mit dem Typ Radio. Um diesem ein Label hinzuzufügen. Anstatt dies als separates Element hinzuzufügen, schließen wir die Eingabe in das Label ein. Wird dieses Steuerelement verwenden, um die Kategorie des Tickets anzugeben. Fügen wir also ein Label mit dem Fehlertext hinzu. Dies ist eine alternative Möglichkeit ein Label einem Steuerelement zuzuordnen. Der Vorteil davon ist, dass Sie kein ID-Attribut für das Steuerelement und vier Attribute auf dem Label benötigen . Lassen Sie uns kurz danach weitere Radioeingänge mit einem Vorschlagslabel hinzufügen. Der Browser. Es gibt die beiden Optionsfelder. Und um sie auszuwählen, können Sie auf das Optionsfeld selbst oder den Text klicken . Beachten Sie jedoch, dass Sie die Auswahl nicht aufheben können, sobald sie ausgewählt wurden. Um diese zu einer Gruppe von Steuerelementen zu machen , bei denen Sie nur eines auswählen können. Wir fügen das name-Attribut beiden Eingabeelementen geben für jedes einzelne den gleichen Wert an. jetzt im Browser Wenn wir jetzt im Browser eine Option auswählen, werden die anderen ausgewählt. In einer Gruppe von Optionsfeldern wie diesem kann nur eine Option gleichzeitig ausgewählt werden. Wenn ich die Seite erneut lade, beachten Sie, dass standardmäßig keine Option ausgewählt ist. Um eine Option standardmäßig auszuwählen, fügen wir das geprüfte Attribut zu einem der Eingabeelemente hinzu. Wenn die Farm jetzt zum ersten Mal angezeigt wird, ist diese Option bereits ausgewählt. So fügen Sie dieser Gruppe von Steuerelementen ein Label hinzu. Wir können keine Labelelemente verwenden , da wir für jede Option eines verwenden. Stattdessen schließen wir sie in einen Feldsatz-Elemente ein. Fügen Sie dann kurz nach dem Tag des öffnenden Felds Set ein Legendenelement hinzu, das den Text enthält , den wir als Beschriftung für diese Gruppe von Steuerelementen anzeigen möchten , den wir als Beschriftung für diese Gruppe von Steuerelementen anzeigen . Der Browser. Dies umgibt die Steuerelemente mit einer Zeile mit dem Text aus dem oben angezeigten Legendenelement. Schließlich werden Radioeingänge standardmäßig in Zeile angezeigt, in diesem Fall werden sie horizontal nebeneinander angezeigt. Um jedes in einer separaten Zeile anzuzeigen. Eine einfache Möglichkeit, dies zu tun, besteht darin, ein Zeilenumbruchelement zwischen ihnen hinzuzufügen. Jetzt werden die Optionen im Browser vertikal angezeigt. Mit einer Auswahlliste. Sie können beliebig viele Optionen haben, aber Optionsfelder eignen sich am besten für eine begrenzte Anzahl von Optionen, da sie immer auf der Farm sichtbar sind. 9. Füge ein Kontrollen, um die Wähle zu wählen: Als Nächstes fügen wir ein Kontrollkästchen-Steuerelement hinzu, mit dem wir zwischen zwei sich gegenseitig ausschließenden Optionen auswählen können. Mit anderen Worten, ja oder nein, oder aus und so weiter. Das Kontrollkästchen ist ein Eingabeelement mit einer Art von Kontrollkästchen. Um diesem eine Beschriftung hinzuzufügen, machen wir es genauso wie mit den Optionsfeldern und dem Schließen der Eingaben und des beschrifteten Textes in einem Beschriftungselement. Fügen wir ein Kontrollkästchen hinzu, das der Benutzer auswählen muss, um einigen Allgemeinen Geschäftsbedingungen zuzustimmen . Der Browser. Es gibt das Kontrollkästchen. Wir können es aktivieren und deaktivieren , indem wir auf das Kästchen selbst klicken, befindet sich auf dem Text des Etiketts. Sie können so viele Kontrollkästchen auf einer Farm haben, wie Sie möchten. Und Sie können sie in einem Feld platzieren wie wir es bei den Funksteuerungen getan haben. Wenn du musst. Für einen Wert können mehrere Kontrollkästchen verwendet werden , bei dem Sie mehr als eine Option auswählen können. 10. Füge ein Knopfleiste und Attribute, um die Daten des Formblatt zu senden: Jetzt können wir einige Daten in die Farm eingeben. Wir brauchen eine Möglichkeit, diese Daten an den Webserver zu senden. Fügen wir zuerst eine Schaltfläche am Ende der Farm hinzu. Fügt ein Button-Element hinzu, wobei der Inhalt zwischen den öffnenden und schließenden Tags der auf der Schaltfläche angezeigte Inhalt ist. Ich hinterlasse einfach einen einfachen Text, aber du kannst hier andere Tags einsetzen, wenn du möchtest. Ich setze auch ein Zeilenumbruchelement davor , damit sich der Button in einer neuen Zeile befindet . Im Browser. Es gibt den Knopf. Wenn ich es drücke, als Übermittlung der Farm bezeichnet wird, wird die Farm erneut angezeigt. Was passiert ist, ist, dass das Formular an sich selbst übermittelt wurde. Mit anderen Worten, es wurde eine Anfrage an dieselbe URL wie die Farm gestellt , mit den Daten aus der Farm, die an die Anforderung angehängt sind. Was sich geändert hat, ist die URL in der Adressleiste des Browsers. Abfragezeichenfolge wurde hinzugefügt, wobei ein Schlüsselwertpaar der Kategorie gleich ist. Wenn wir uns die verschiedenen Eingaben ansehen, beachten Sie, dass die einzigen mit Namensattributen die Optionsfelder Kategorie sind. Nur Eingaben, die ein Name-Attribut haben haben ihren Wertesinn, wenn das Formular gesendet wird. Um dies zu demonstrieren, fügen wir der ersten Eingabe ein Namensattribute mit einem Wert von name hinzu. Wenn wir die Farm neu laden und dann erneut einreichen. Jetzt enthält die Abfragezeichenfolge einen zusätzlichen Wert für den Namen. Wenn ich einen Wert in die Namenseingabe eingebe und übergebe, ist dieser Wert in der Abfragezeichenfolge enthalten. Machen wir das Gleiche für die anderen Eingaben. Hinzufügen von Namensattributen zum Kontrollkästchen E-Mail, Beschreibung, Priorität und Geschäftsbedingungen. Wenn wir nun die Farm einreichen, sehen wir die Werte in der Abfragezeichenfolge für alle Felder. Wenn ich einen Wert für einen von diesen eintrage, wird dieser Wert gesendet. 11. Eine Datei zur Bearbeitung der a: Wenn wir die Farm senden, wird derzeit eine Anfrage an dieselbe Seite gestellt und die Daten von der Farm werden in der URL-Abfragezeichenfolge gesendet. Dies ist die Standardeinstellung und kann verwendet werden, wenn Sie Code vor dem HTML-Code hinzufügen, um die Daten zu verarbeiten. Verarbeitet die Farmdaten jedoch in einer anderen Datei. Fügen wir zunächst eine neue Datei mit dem Namen Process Farm Dot PHP hinzu. Zurück auf der Farm. Um diese Farm Daten an diese neue Datei zu senden, fügen wir dem Formular-Tag ein Aktionsattribut hinzu, das die URL zu dem gewünschten Speicherort enthält. Da sich diese Datei im selben Ordner befindet, können wir einfach den Namen der Datei, die neue Datei, eingeben. Fügen wir das PHP-Eröffnungstag hinzu. Die Daten aus der Abfragezeichenfolge sind im Cat-Superglobal verfügbar. Lasst uns das einfach ausdrucken. Wenn ich nun einige Daten in das Formular eingebe und absende, wird das PHP-Skript der Prozessfarm angefordert, wobei die Daten noch in der Abfragezeichenfolge enthalten sind. Der Hauptteil der Antwort, wir sehen den Inhalt des GET-Arrays. Jeder Array-Schlüssel stammt aus dem Name-Attribut jeder Eingabe im HTML, und sein Wert ist der Wert, der in die Farm eingegeben wurde. Die Daten in der Abfragezeichenfolge so zu haben, ist in Ordnung, wenn das Formular beispielsweise eine Suchmaschine ist , da es sich um die Art von URL handelt, die Sie unser Lesezeichen teilen können. Wenn Sie etwas mit diesen Daten machen möchten, z. B. in einer Datenbank speichern möchten, möchten wir es nicht in der URL haben. Dies liegt daran, dass es ein Limit gibt, wie viele Daten in der URL übergeben werden können. Außerdem ist es ein Sicherheitsrisiko. Hier könnten sensible Daten vorhanden sein, und diese URLs werden im URL-Verlauf des Browsers gespeichert. Die Daten von der Farm könnten von jedem mit Zugriff auf den Browser leicht eingesehen werden . Stattdessen senden wir diese Daten mit der Post-Methode. Um dies zu tun, fügen wir dem Farm-Tag ein Methodenattribut mit dem Wert post hinzu. Sie könnten angeben, get here, was der Standardwert ist, den wir bisher verwendet haben. Wenn die Daten jetzt an das Skript gesendet werden, werden sie im Post Super Global verfügbar sein. Lasst uns das stattdessen ausdrucken. Wenn wir nun einige Daten eingeben und übermitteln, sehen wir immer noch dieselben Daten im Antworttext. Aber jetzt werden die Werte in der Abfragezeichenfolge nicht angezeigt. 12. Die the von den Select, der Radio und the ändern: Werfen wir einen Blick auf die Werte , die von der Farm gesendet werden. Die Priorität ist ein Auswahlsteuerelement als Dropdown-Liste angezeigt wird. Der Wert, der beim Senden der Farm gesendet wird , ist der Text der ausgewählten Option. Du kannst das machen, wenn du willst. Es ist jedoch üblich, jeder Option mit dem value-Attribut einen anderen Wert zu geben . Weisen wir jeder Option einen numerischen Wert von eins bis drei zu. Wenn wir jetzt das Formular absenden, entspricht der übermittelte Wert unabhängig vom Wertattribut für die ausgewählte Option. Dies ist nützlich, wenn Sie einen anderen Wert als nur eine Textbeschriftung für unsere Felder wie dieses speichern einen anderen Wert als nur eine möchten. Dies ist beispielsweise auch nützlich, wenn Sie Ihre Inhalte in mehr als einer Sprache anzeigen . Die beschrifteten Texte können also unterschiedlich sein, aber die zugrunde liegenden Werte sind identisch. Werfen wir auch einen Blick auf die Kategorie Funksteuerungen. Egal welches ich wähle. Der übermittelte Wert ist immer die Zeichenfolge auf. Dies liegt daran, dass dies der Standardwert für Eingänge vom Radiotyp ist , damit die Optionsfelder je nachdem, welcher ausgewählt wurde, einen anderen Wert senden . Wir müssen jedem einen Wert mit dem value-Attribut geben . Diese Werte können sein, was immer Sie wollen. Sie müssen den Text nicht wie oben mit dem Auswahlsteuerelement übereinstimmen . Anstelle von Zahlen verwende ich dieses Mal nur ein paar einfache Strings. Wenn wir nun das Optionsfeld auswählen, ist dies der Wert , der übermittelt wird. Schauen wir uns als Nächstes das Kontrollkästchen an. Wenn ich es nicht überprüfe, wird kein Wert für dieses Steuerelement übermittelt. Wenn ich es überprüfe, ist der Wert die Zeichenfolge auf. Sie können diesem einen Wert auf die gleiche Weise wie bei anderen Eingaben hinzufügen und ein Wertattribute hinzufügen. Lassen Sie uns einen Wert von eins hinzufügen. Wenn ich nun das Kontrollkästchen aktiviere und die Farm einreiche, ist dies der Wert , der gesendet wird. Wenn Sie nur wissen möchten, ob das Kontrollkästchen aktiviert ist oder nicht, reicht der Standardwert aus. Für unsere Zwecke werden wir es entfernen. Wenn Sie jedoch mehrere Kontrollkästchen haben und wissen möchten, welche aktiviert sind, können Sie jedem einen eigenen Wert geben. 13. Vermeide Fehler, wenn ein Wert nicht ein Teil der Formulardaten: Jetzt haben wir die Werte, die wir wollen, von der Farm kommen. Wir können die spezifischen Werte in den PHP-Skripten bereit machen, um schließlich in eine Datenbank einzufügen. Wie wir gesehen haben, befinden sich die Werte aus der Farm im Post-Array. Anstatt das gesamte Array auszudrucken, weisen wir den Wert für die Namenseingabe einer Variablen zu und drucken ihn dann aus. Wenn ich einen Wert für den Namen eingebe und ihn übergebe , ist dies der Wert. Mal sehen, was passiert, wenn ich diesen Index in einen Wert ändere , der nicht Teil der Farm ist. Zum Beispiel Nachname. Wenn ich jetzt die Farm einreiche, erhalten wir einen undefinierten Reiki-Fehler. Obwohl wir diesen Fehler nicht bekommen werden. Wenn eine Eingabe mit diesem Namen Teil der Farm ist, müssen wir dennoch prüfen, ob diese Werte in der Nachbefragung vorhanden sind oder nicht, bevor wir versuchen, sie zu verwenden. Dies liegt daran, dass die Farm leicht umgangen werden könnte. Wir werden später ein Beispiel dafür sehen. Eine Möglichkeit, dies zu überprüfen, besteht darin, eine Funktion wie ein Reiki zusammen mit dem ternären Operator zu verwenden besteht darin, eine Funktion wie ein Reiki zusammen mit dem , um die Namensvariable so einzustellen , dass sie weiß, ob der Wert nicht im Array enthalten ist. Eine weitere kürzere Möglichkeit wäre, den Null-Koaleszoperator zu verwenden , der dasselbe tut. Eine andere Alternative besteht darin, die Filtereingabefunktion zu verwenden. Diese Funktion erhält einen Wert aus der angegebenen Eingabe und gibt einfach null zurück, wenn sie nicht vorhanden ist. Rufen wir diese Funktion auf, die angibt, dass wir den Wert aus den Post-Eingaben abrufen möchten , den Namen des Wertes, den wir erhalten möchten. Versuchen wir dies zuerst mit einem Namen, nicht Teil des Familiennamens ist. Wenn wir die Farm einreichen. Jetzt bekommen wir null anstelle eines Fehlers. Wenn wir dies in den Namen ändern , der Teil der Farm ist, erhalten wir den Wert aus den Eingaben. 14. Einen Filter auf die a die die Datenart und den Bereich: Zusätzlich zur Rückgabe des Wertes aus der Eingabe und gibt einfach null zurück, wenn er nicht vorhanden ist. Die Filtereingabefunktion ermöglicht es uns, einen Filter auf den Wert anzuwenden. Dies bedeutet, dass wir bei der E-Mail-Eingabe beispielsweise einen Filter anwenden können, um zu überprüfen, dass der Wert eine gültige E-Mail-Adresse ist. Rufen wir die Filtereingabefunktion erneut auf, diesmal für die E-Mail-Eingabe aus der Farm. Das dritte Argument gibt den Validierungs-E-Mail-Filter an. Anstatt die Namensvariable auszudrucken, drucken wir stattdessen die E-Mail-Variable aus. Wenn ich das Formular mit einer leeren E-Mail-Adresse absende, werden wir falsch. Wenn ich eine gültige E-Mail-Adresse übergebe , erhalten wir diesen Wert als String. Wenn ich eine ungültige E-Mail-Adresse eingebe , validiert der Browser das Feld und fordert eine gültige E-Mail-Adresse an, ohne dass das Formular gesendet wird. Wir werden uns in Kürze die clientseitige Validierung im Browser ansehen. Aber jetzt deaktivieren wir dies einfach, indem das novalidate-Attribut zum Formularelement im HTML hinzufügen. Wenn ich jetzt eine ungültige E-Mail-Adresse eingibe und die Farm übertrage, erhalten wir boolean false. Schon wieder. Wir erhalten die E-Mail-Adresse nur als String, wenn sie gültig ist. Sonst werden wir falsch. Einige Filter haben Optionen , um eine zusätzliche Validierung durchzuführen. Zum Beispiel der ganzzahlige Validierungsfilter. Neben der Überprüfung, dass ein Wert eine gültige Ganzzahl ist, können wir einen Wertebereich angeben. Ein Wert, der eine gültige Ganzzahl ist, aber außerhalb dieses Bereichs den Wert false zurückgibt. Der Wert für das Prioritätsfeld in unserer Farm ist eine ganze Zahl 12 oder drei. Fügen wir der Filtereingabefunktion für das Prioritätsfeld einen weiteren Aufruf hinzu und geben den ganzzahligen Validierungsfilter an. Im nächsten Argument geben wir an, dass die Optionen für diesen Filter mindestens eins und maximal drei angeben. Anstatt die E-Mail-Variable auszudrucken, wird dann die gerade hinzugefügte Prioritätsvariable ausgegeben. Wenn ich die Farm mit dem Standardwert für unsere Priorität einreiche , erhalten wir einen ganzzahligen Wert von zwei. Für andere Prioritäten erhalten wir den äquivalenten ganzzahligen Wert. Beachten Sie, dass alle Werte, die von der Farm kommen , Strings sind, diese Funktion diese beiden Ganzzahlen jedoch umwandelt , falls gültig. Testen Sie die Bereichsüberprüfung. Lassen Sie uns vorübergehend das Maximum auf zwei ändern. Wenn wir nun die Farm mit einem Prioritätswert einreichen , der drei entspricht, erhalten wir boolean false. Der Wert ist immer noch eine gültige Ganzzahl, jedoch nicht innerhalb des von uns angegebenen Bereichs. Lassen Sie uns dies wieder auf drei ändern, damit es alle Werte aus der Liste akzeptiert. 15. Filter die Checkbox und die Werte in ein Array: Schauen wir uns als Nächstes den Wert des Kontrollkästchens an. Wie wir vorhin gesehen haben. Das Kontrollkästchen ist nicht aktiviert. wird kein Wert übermittelt. Wenn es aktiviert ist, ist der Standardwert die Zeichenfolge auf. Rufen wir die Filtereingabefunktion erneut auf und erhalten diesen Wert. Wie alles, was wir dafür wissen wollen ist, ob es überprüft wurde oder nicht. Mit anderen Worten, wir interessieren uns nicht für den Wert. Dafür. Wir verwenden den booleschen Validierungsfilter. Dies wird true zurückgeben, wenn das Kontrollkästchen aktiviert ist. Anstatt die Prioritätsvariable auszudrucken, werden stattdessen die Begriffe eins ausgedruckt. Wenn wir das Formular absenden, ohne das Kontrollkästchen zu aktivieren, erhalten wir nein. Wenn wir das Kontrollkästchen ankreuzen, erhalten wir boolean true. Jetzt erhalten wir gefilterte Werte für die meisten Eingaben in der Farm. einzigen fehlt die Beschreibung und Kategorie. Fügen wir Aufrufe zur Filtereingabefunktion für die Beschreibung hinzu. Und weiter Kategorie, ohne Filter anzugeben, da dies Strings sind, genau wie der Name. Jetzt haben wir eine Variable für jedes Farmfeld, das die Daten enthält , die sich in diesem Feld befanden, als die Farm zur weiteren Verarbeitung bereit eingereicht wurde . Dies ist eine Möglichkeit, dies mit mehreren Aufrufen der Filtereingabefunktion zu tun. Es gibt eine alternative Möglichkeit, dies mit der Filtereingabe-Array-Funktion zu tun . Auf diese Weise können Sie mehrere Farmeingaben gleichzeitig filtern und von separaten Variablen ein Array der gefilterten Daten abrufen anstelle von separaten Variablen ein Array der gefilterten Daten abrufen. Rufen wir den Filter in Hochformatwellenfunktion und filtern die Postdaten von der Farm. Für das zweite Argument übergeben wir ein Array mit einem Element für jedes Farmfeld, das wir filtern möchten. Wenn wir keinen Filtertyp angeben , können wir den Wert auf null auf das Standardfilter-Flag setzen. Für Eingaben, bei denen wir einen Filter angeben, legen wir den Wert der Array-Elemente auf die Filterkonstante fest. Und wenn der Filter Optionen wie das Prioritätsfeld hat, übergeben wir ein Array, das die Werte wie folgt festlegt. Dies gibt ein Array von Daten für die angegebenen Farmwerte zurück. Wenn wir das anstelle der Begriffsvariablen ausdrucken. Wenn wir die Farm einreichen, erhalten wir ein Array, das die gefilterten Werte von der Farm enthält . Die Filter wurden wie bei den einzelnen Variablen angewendet . Aber jetzt haben wir eine Array-Variable, die alle Werte anstelle einer Variablen für jeden Unternehmenswert enthält die alle Werte anstelle einer . Es liegt an Ihnen, welche Methode Sie beim Filtern von Eingabedaten verwenden. Wenn Sie einzelne Variablen oder ein Array bevorzugen. 16. Die Form --: Jetzt haben wir die Daten von der Farm, wir können sie validieren. Ich arbeite mit einem Array von Daten, aber Sie können mit einzelnen Variablen arbeiten, wenn Sie möchten. Ich werde diese Variablen im herunterladbaren Quellcode kommentieren . Wir möchten diese Werte validieren bevor wir versuchen, sie in der Datenbank zu speichern , damit die Daten in der Datenbank immer gültig sind. Beginnen wir damit, den Namen zu validieren. Wenn ein Wert in das Namensfeld der Farm eingegeben wurde , gilt er als gültig. Wenn das Feld leer gelassen wurde, ist dies eine leere Zeichenfolge. Wenn der Wert nicht Teil der Farmdaten ist, gibt die obige Filterfunktion null zurück oder eine leere Zeichenfolge oder Null sind ungültige Werte. Wir könnten den Wert davon einer leeren Zeichenfolge und Null mit einem Vergleichsoperator vergleichen. Aber die leere Funktion wird true zurückgeben. Wenn es eines von denen ist. Wenn der Wert leer ist, ist er ungültig. Um es einfach zu halten. Wenn es ungültig ist, wird das Skript mit Farbdruck auf eine geeignete Nachricht beendet . Diese Validierung wird ohnehin wahrscheinlich nicht angezeigt, wenn wir eine clientseitige Validierung im Browser haben, die in Kürze hinzugefügt wird. Probieren wir das mal aus. Wenn ich eine Farm einreiche, ohne etwas in das Namensfeld einzufügen, erhalten wir die Meldung , dass der Name erforderlich ist. Wenn ich einen Wert eingebe, wird das Array von Werten wie zuvor ausgedruckt. Machen wir das Gleiche für das E-Mail-Feld. Wenn das nicht vorhanden ist, wird es nein sein. Wenn es sich nicht um eine gültige E-Mail handelt, ist sie falsch. Und sonst wird es der String-Wert sein. Die leere Funktion gibt ebenfalls true zurück. Wenn der Wert falsch ist, können wir ihn einfach immer wieder verwenden, das Skript mit einer geeigneten Nachricht zu beenden. Wenn ich nun die Farm mit einem gültigen Namen, aber einer leeren E-Mail-Adresse einreiche , erhalten wir die E-Mail-Validierungsnachricht. Wenn ich einen Wert in das E-Mail-Feld eingebe, handelt es sich aber nicht um eine gültige E-Mail. Dann bekommen wir die gleiche Nachricht. Wenn ich eine gültige E-Mail eintrage, erhalten wir die Daten. die gleiche Weise können wir die Beschreibung, die Priorität und die Kategorie validieren die Beschreibung, die Priorität und die . Die Kategorie. Neben der Bestätigung , dass es vorhanden ist, können wir auch seinen Wert validieren. Die Kategorie ist eine Zeichenfolge, die von den Werten der Optionsfelder stammt, entweder Fehler oder Vorschlag. Nur für den Fall, dass die Farm umgangen wird. Wir müssen überprüfen, ob der Wert eine der Strings ist. Der einfachste Weg , dies zu tun, besteht darin die innere Array-Funktion zu verwenden und zu prüfen, ob der Wert aus der Farm einer dieser Werte ist. Wenn dies nicht der Fall ist, beenden wir das Skript mit einer Nachricht. Um dies zu testen, entfernen wir das Fehlerelement vorübergehend aus dem Array. Wenn wir nun die Farm mit der ausgewählten Standardkategorie einreichen , erhalten wir die Meldung „Kategorie ist ungültig“. Wenn wir die andere Kategorie auswählen, besteht sie die Validierung und wir sehen die Daten. Jetzt haben wir getestet , dass das funktioniert. Wir können die Fehlerkategorie wieder hinzufügen. Schließlich können wir überprüfen, ob das Kontrollkästchen aktiviert wurde. Der Filter setzt den Begriffswert auf boolean true, wenn er überprüft wird. Sonst wird es nein sein. Lassen Sie uns das nachsehen. Und wenn es nicht stimmt, stoppt das Skript und gibt eine Nachricht aus. Wenn ich die Farm einreiche, ohne das Kontrollkästchen zu aktivieren, erhalten wir die Nachricht. Wenn ich es überprüfe, besteht die Validierung und wir können die gültigen Daten ausgedruckt sehen. 17. Das Formular mit der Seite von der Seite im Browser: Wir validieren derzeit die Daten auf dem Server drucken bei Bedarf Validierungsnachrichten aus. Wir können jedoch eine Anfrage an den Server verhindern, indem wir zuerst die Farm im Browser validieren. Dies ist auch benutzerfreundlicher, da es dem Benutzer die Möglichkeit gibt, die Farm an den Stellen zu korrigieren, an denen die Daten ungültig sind bevor sie gesendet werden. Früher. Auf der Farm. Wir haben das novalidate-Attribut zur Farm hinzugefügt, um die Validierung vorübergehend zu deaktivieren. Wir können das jetzt entfernen. Fügen wir dann das erforderliche Attribut zu den erforderlichen Feldern hinzu. Name, E-Mail, Beschreibung und Begriffe. Als Auswahl listet weiter Priorität auf. Und die Optionsfelder für die Kategorie haben Standardwerte. Wir müssen diesen nicht das erforderliche Attribut hinzufügen. Der Browser. Wenn wir nun versuchen , eine leere Farm einzureichen, gelangen wir zur Validierungsnachricht für jedes erforderliche Feld , das leer ist. Was klein ist die Validierungsnachricht neben jedem Feld. Und der Fokus liegt auf dem Feld, das geändert werden muss. Soweit es sich bei der E-Mail-Adresse um einen E-Mail-Eingabetyp handelt. Wir gelangen auch zur Validierungsnachricht, wenn der Wert keine gültige E-Mail-Adresse ist. Für das Kontrollkästchen. dies bei Bedarf markieren, muss der Benutzer dies überprüfen, bevor die Farm eingereicht werden kann. Wenn ich es überprüfe, können wir die Farm einreichen und wir sehen die Daten ausgedruckt. Jetzt denken Sie vielleicht, dass wenn wir im Browser validieren, nicht im PHP-Skript auf dem Server validieren müssen . Wir fügen die Validierung im Browser hinzu, da dies die Benutzererfahrung viel angenehmer macht und die Anzahl der Anfragen, die wir an den Server stellen, reduziert . Es kann jedoch leicht umgangen werden. Eine Möglichkeit, dies zu tun, besteht beispielsweise darin, eine Post-Anfrage mit curl an das PHP-Skript der Prozessfarm zu senden . Curl ist ein Kommandozeilentool zum Stellen von HTTP-Anfragen. Lassen Sie uns also curl verwenden, um die Anforderungsmethode als Post anzugeben. Und wir werden ein paar Fremdwerte hinzufügen , die wir so hinzufügen. Wir senden diese Anfrage vom PHP-Skript auf unserem Server an den Prozess . Wir erhalten die Antwortbeschreibung ist erforderlich. Dies ist die Nachricht von der serverseitigen Validierung, da wir einen Wert für den Namen und die E-Mail gesendet haben, aber keine weitere Beschreibung. Es gibt andere Möglichkeiten, die Farm beispielsweise mithilfe der Entwicklertools im Browser manipuliert werden können. Grundsätzlich wird eine clientseitige Validierung empfohlen. Die serverseitige Validierung ist jedoch unerlässlich, auch wenn der Benutzer sie nie sieht, da die Daten bereits gültig sind , wenn das Formular gesendet wird. Code, der Farmdaten verarbeitet, sollte diese Daten immer auf dem Server validieren. 18. Erstelle eine Datenbank, um die Daten aus dem Formular zu speichern: Jetzt haben wir die Daten von der Farm und sie wurden validiert. Wir können diese Daten in eine Datenbank auf dem Server einfügen. Ich mache dies dem MariaDB-Datenbankserver , den ich lokal installiert habe, für alle Absichten und Zwecke das gleiche ist, wie der angezeigte MySQL-Befehl für beide DBMS gültig ist. Sie haben ein ähnliches Setup, wenn Sie die vorgeschlagene Software zu Beginn der Klasse installiert haben. Zögern Sie nicht, jede relationale Datenbank zu verwenden , die Sie mögen. Ich mache das in der Kommandozeile. Aber wenn Sie möchten, können Sie Ihren GAVI Ihrer Wahl verwenden, wie PHP, meinen Administrator oder MySQL Workbench. Beginnen wir damit, eine Verbindung mit dem Datenbankserver der Befehlszeile über das Root-Konto herzustellen. Dann erstellen wir eine neue Datenbank, die ich einfach Support dB nenne. Dann erstellen wir einen Benutzer nur für den Zugriff auf diese Datenbank. Wir müssen es also nicht mit dem Root-Konto tun. Der Benutzer hat volle Berechtigungen für alle Tabellen in der neuen Datenbank, die als User Support DB User bezeichnet wird . Es ist auf dem lokalen Host-Server. Und wir weisen ein zufälliges Passwort zu. Sie müssen sich dieses Passwort notieren, wenn wir uns später von PHP aus mit der Datenbank verbinden. Um dies zu überprüfen, können wir die Konsole verlassen und die Verbindung mit dem soeben erstellten Benutzer und Passwort wiederherstellen. Dann können wir die Datenbank mit den USA auswählen. Und das wählt es ohne Probleme aus. 19. Erstelle eine Tabelle in der Datenbank zu erstellten, um a: Jetzt können wir der Datenbank eine Tabelle hinzufügen, um Ticketdaten zu speichern. Lassen Sie uns eine Tabelle namens Ticket mit den folgenden Spalten erstellen . Eine ID-Spalte, die eine Ganzzahl ist, kann nicht null sein. Und wir setzen dies auf Auto-Inkrement ein, um Werte automatisch zuzuweisen. Dann eine Namensspalte, die ein, ein, ein 128-stelliger Varchar ist , der nicht bekannt werden kann. Als nächstes eine Spalte für die E-Mail, bei der es sich auch um einen 128-stelligen Gutschein handelt, der nicht null sein darf. Dann eine Beschreibungsspalte, die Text ist und auch nicht null sein kann. Nächste Spalte, weitere Priorität, bei der es sich um eine Ganzzahl ungleich null handelt. Und schließlich eine Spalte namens category, die ein 32-Zeichen var char ist, das ist auch count be no. Bevor wir die Klammern schließen, wird die ID-Spalte zum Primärschlüssel machen. Lasst uns das laufen lassen. Das lief fehlerfrei. Werfen wir einen Blick auf den Tisch, den wir gerade erstellt haben. Und da ist es. Wie bereits erwähnt. Sie können dies in einer GUI wie PHP, meinem Administrator, tun Wenn Sie dieses SQL vorziehen, wird diese Tabelle im herunterladbaren Quellcode der Klassen verfügbar sein . 20. Verbinde die Datenbank von PHP: Jetzt haben wir die Datenbank und die Tabelle, die wir von PHP aus mit der Datenbank verbinden können. Wir müssen die Daten nicht mehr von der Farm ausdrucken. Wir können diese Zeile aus dem Prozessfarm-Skript entfernen. Erstellen wir zunächst einige Variablen, die die Verbindungsdetails für den Datenbankserver enthalten. Der Host ist der gleiche wie der Webserver localhost. Der Name der Datenbank, die wir gerade erstellt haben, ist Support DB. Und wir erstellen zwei weitere Variablen für den Benutzernamen und das Passwort, die wir gerade erstellt haben, um eine Verbindung mit der Datenbank herzustellen. Wir rufen die MySQL I connect-Funktion geben den Host, Benutzernamen, das Passwort und den Datenbanknamen weiter. Diese Variablen müssen in dieser Reihenfolge sein, und es ist ein häufiger Fehler, sie in die falsche Reihenfolge zu bringen. Wenn Sie möchten, können Sie benannte Argumente verwenden indem Sie jedem Wert den Namen des Arguments voranstellen. Wenn du das tust, spielt es keine Rolle, in welcher Reihenfolge sie sich befinden. Dies gibt ein Objekt zurück, das die Verbindung zur Datenbank darstellt. Also weisen wir das einer Variablen zu. Bevor wir diese Datenbankverbindung verwenden können, müssen wir sicherstellen, dass wir eine Verbindung hergestellt haben, okay. Die Funktion MySQL connect error number gibt einen Fehlercode aus den letzten Verbindungsversuchen zurück. Wenn kein Fehler aufgetreten ist, entspricht diese Rendite 00 Milliarde falsch. Wir können dies überprüfen, indem wir dies einfach als Voraussetzung für eine if-Anweisung verwenden . Wenn ein Verbindungsfehler aufgetreten ist, stoppen wir das Skript wie oben und drucken eine Nachricht aus. Wir können eine Beschreibung des Fehlers erhalten, indem die MySQL connect our function aufrufen. Wenn kein Fehler aufgetreten ist. Lassen Sie uns vorerst eine Nachricht ausdrucken, die besagt, dass die Verbindung erfolgreich war. Probieren wir das mal aus. Wenn ich gültige Daten in das Formular eingebe und absende, erhalten wir die Nachricht „Verbindung erfolgreich“. Mal sehen, was passiert, wenn ich eine der Verbindungsdetails falsch bekomme. Lassen Sie uns zum Beispiel das Passwort ändern. Wenn ich jetzt das Formular abschicke, wird die Verbindungsfehlermeldung speziell der Zugriff verweigert. Dies passiert, wenn die Anmeldeinformationen falsch sind. Lasst uns das zurückändern. Die Angaben sind wieder korrekt. Sobald wir eine Verbindung hergestellt haben, können wir diese Verbindung verwenden , um Datenbankabfragen zu erstellen, wie wir in Kürze sehen werden. Nachdem wir damit fertig sind, können wir die Verbindung optional mit der MySQL lie close Funktion von der Datenbank trennen der MySQL lie close Funktion die Datenbankverbindung als Argument übergeben. Dieser Schritt ist völlig optional, denn wenn wir das Ende der Anfrage erreichen, wird die Datenbankverbindung ohnehin automatisch geschlossen. Sie können es jedoch einbeziehen, wenn Sie es vorziehen. 21. Einfügen eines neuen Datensatzes in die Datenbank von PHP: Sobald wir uns erfolgreich mit der Datenbank verbunden haben, können wir einen neuen Datensatz einfügen. Um einen neuen Datensatz einzufügen, wird eine SQL-Insert-Anweisung verwendet. Hier in der Datenbank. Wenn wir uns die Struktur der von uns erstellten Tickettabelle ansehen , können wir sehen, dass die ID-Spalte ein automatisches Inkrement-Feld ist, sodass wir dafür keinen Wert angeben müssen. Der Wert wird automatisch zugewiesen. Alle anderen Spalten lassen keine Nullwerte zu. Wir müssen Werte, die nicht null sind, angeben. Vater. Wenn wir einen neuen Datensatz einfügen, fügen wir hier direkt einen neuen Datensatz ein, damit wir die SQL sehen können, die wir benötigen. Wie zuvor. Sie können dies in einer GUI wie PHP, meinem Admin, tun, wenn Sie es vorziehen. Wählen wir zuerst alle Zeilen aus der Tickettabelle aus. Und wir können sehen, dass die Tabelle derzeit leer ist. Fügen Sie einen Datensatz ein. Wir verwenden die Insert-Into-Anweisung , die den Namen der Tabelle angibt, bei der es sich um Ticket handelt. In Klammern eine Liste der Spalten, in die wir Werte einfügen werden. Wie ich gerade erwähnt habe, müssen wir die ID-Spalte nicht angeben da ein Wert dafür automatisch zugewiesen wird. Dann fügen wir das Schlüsselwort values hinzu, gefolgt von einer Liste der Werte, die wir in Klammern einfügen möchten. Ich gebe nur ein paar Beispielwerte an. Beachten Sie, dass Zeichenfolgenwerte in einfache Anführungszeichen und numerische Werte eingeschlossen werden müssen einfache Anführungszeichen und numerische Werte eingeschlossen wie es die Prioritätsspalte nicht tun. Wenn wir dies ausführen, erhalten wir eine Meldung, dass es in Ordnung war und ein Datensatz eingefügt wurde. Und wenn wir alle Zeilen erneut auswählen, sehen wir den Datensatz in der Tabelle, einschließlich des Wertes , der automatisch der ID-Spalte zugewiesen wurde . Jetzt können wir das Gleiche von PHP aus machen. Lassen Sie uns zuerst die letzten beiden Zeilen entfernen. Dann lassen Sie uns eine Variable erstellen , die die SQL enthält. Der erste Teil der Insert-Anweisung, in dem wir die Spalten und das Schlüsselwort values angeben. Jetzt müssen wir die Werte aus der Farm einbeziehen , die sich im Datenarray befinden. Es gibt mehrere Möglichkeiten, die SQL-Zeichenfolge zu erstellen. Zum Beispiel variable Interpolation, String-Verkettung und so weiter. Lass uns mit der String-Verkettung gehen. Wir verketten jeden Wert mit dem nächsten trennen ihn durch Kommas. Am Ende schließen wir die Klammern. Vergessen wir nicht, dass wir String-Werte mit einfachen Anführungszeichen umgeben müssen . Wir fügen das zu den String-Werten hinzu, was alles mit Ausnahme der Priorität ist. Bevor wir dies ausführen, drucken wir die SQL-Zeichenfolge aus, um zu sehen, was sie enthält. Wenn ich einige gültige Daten übergebe, gibt es die SQL-Zeichenfolge. Anstatt das auszudrucken, lassen Sie es uns ausführen. Um dieses SQL auszuführen, verwenden wir die MySQL-Abfragefunktion, die das Verbindungsobjekt und die SQL-Zeichenfolge als Argumente übergeben. Wenn dies fehlschlägt, wird Boolean false zurückgegeben. Also lasst uns danach nachsehen. Und wenn es fehlschlägt, werden wir das Skript mit einer Nachricht beenden. Wir können eine Beschreibung der Fehlermeldung mithilfe der MySQL-Fehlerfunktion erhalten , die das Verbindungsobjekt übergibt. Wenn es gelingt, drucken wir vorerst einfach eine Nachricht aus. Probieren wir das mal aus. Wenn ich einige gültige Daten übergebe, erhalten wir die gespeicherte Nachricht. Die Tickettabelle in der Datenbank. Es gibt den neuen Rekord , den wir gerade eingefügt haben. Die Daten für diesen Datensatz in der Datenbanktabelle stammen von der Farm im Browser. Ich werde nicht demonstrieren, was passiert, wenn das gerade fehlschlägt. Wie wir das in Kürze behandeln werden. Es gibt jedoch ein sehr großes Sicherheitsproblem mit diesem Code, das wir uns im nächsten Video ansehen werden. 22. Schwer mit String-Werte, um einen: Wir haben gerade gesehen, wie das funktioniert. Wenn ich einfach einfache Werte in die Farm eingebe, wird ein neuer Datensatz in die Datenbank eingefügt. Schauen wir uns jedoch an, was passiert, wenn ich einen Wert eingebe, der ein einzelnes Zitat enthält. Zum Beispiel ein Nachname wie O'Connor. Wenn ich die Farm einreiche, uns mitgeteilt, dass es einen Fehler in der SQL gibt. Drucken wir vorübergehend die vollständige SQL-Zeichenfolge aus , um zu sehen, was sie enthält. Wenn wir den Code ausführen, gibt es die SQL-Zeichenfolge. Das Problem ist da. Wenn wir die SQL-Zeichenfolge konstruieren, umgeben wir jeden String-Wert mit einfachen Anführungszeichen. Da dieser Wert jedoch ein einzelnes Anführungszeichen enthält, endet die Datenbank hier die Zeichenfolge. Nach der Zeichenfolge erwartet sie ein Komma und den nächsten Wert. Der Rest des Namens ist jedoch stattdessen da. Dies wird ungültig SQL gemacht. Im besten Fall wird damit nur passieren dass das SQL ungültig ist. Benutzer wird eine Fehlermeldung und der Datensatz angezeigt. Was würde es eingefügt? Im schlimmsten Fall könnte dies jedoch verwendet werden, um etwas SQL in die SQL-Zeichenfolge zu injizieren, die als SQL-Injection-Angriff bezeichnet wird. Ein Angreifer könnte etwas SQL in die Formulareingaben einfügen, beginnend mit einem einzigen Zitat, das einige Werte löschen oder sogar das Admin-Passwort aus der Datenbank abrufen könnte einige Werte löschen oder sogar . Um dies zu vermeiden, müssen wir einfache Anführungszeichen innerhalb von Zeichenfolgenwerten entgehen, indem wir ihnen ein umgekehrtes Schrägstrich voranbringen . Sie könnten dies manuell tun, indem Sie beispielsweise die Funktion zum Ersetzen der Zeichenfolge verwenden. Aber es gibt einen besseren Weg. Die MySQL Real Escape-String-Funktion entgeht allen Sonderzeichen zur Verwendung in einer SQL-Anweisung. Unter Berücksichtigung des Zeichenrichts wird die Datenbankverbindung berücksichtigt. Rufen wir diese Funktion für jeden Wert auf, den wir in die SQL einfügen, übergeben das Verbindungsobjekt jedes Mal als erstes Argument. Obwohl die Priorität keine Zeichenfolge ist, nenne ich sie auch weit diesen Wert. Nur um absolut sicherzustellen, dass wir keinen nicht vertrauenswürdigen Wert in die SQL einfügen , ohne ihm zu entkommen. Wenn wir nun die Farm einreichen, können wir sagen, dass dem einzigen Zitat entkommen wurde , indem ein Backslash vorangestellt wurde. Lassen Sie uns die Zeile entfernen, in der wir das SQL ausdrucken. Aktualisieren Sie die Seite im Browser. Jetzt erhalten wir die Datensatz-gespeicherte Nachricht in der Datenbank. Es gibt den Datensatz, den wir gerade eingefügt haben und den einzelnen Anführungswert enthält. Beachten Sie, dass es in der Datenbank nicht entkommen ist. Der Wert dort ist, wie er in die Farm eingegeben wurde. Beachten Sie auch, dass es häufiger ist, eine gut formatierte Fehlerseite zu haben, wenn wir einen Datenbankfehler erhalten es häufiger ist, eine gut formatierte Fehlerseite zu haben , wenn wir einen Datenbankfehler im Gegensatz zu der Fehlermeldung wie dieser. Und in einer Produktionsanwendung würde er das tun. Für die Zwecke dieser Klasse werden wir es jedoch einfach halten, so. 23. Verwende eine vorgestellte Anweisung, um einen neuen Datensatz zu einfügen: Wir haben gerade eine Möglichkeit gelernt, SQL-Injection-Angriffe zu vermeiden. Und das ist, um Sonderzeichen in nicht vertrauenswürdigen Werten zu entkommen , wenn wir das SQL erstellen. Das Problem beim Erstellen einer solchen SQL-Zeichenfolge besteht jedoch darin, dass sie zu Code führt , der schwer zu verstehen ist und daher schwierig zu debuggen und zu warten ist. Es ist auch sehr leicht zu vergessen, einem neuen Wert zu entkommen , wenn wir beispielsweise eine neue Spalte hinzufügen. Eine alternative Möglichkeit, dies zu tun, die immer noch SQL-Injection-Angriffe vermeidet , besteht darin, eine vorbereitete Anweisung zu verwenden. Beginnen wir damit, das SQL zu ändern. Entfernt all diesen Code, in wir die Werte manuell einfügen. Und stattdessen setzen wir für jeden Wert einfach ein Fragezeichen. Dies wird als Platzhalter bezeichnet. Beachten Sie, dass wir keine Anführungszeichen um die Zeichenfolgenwerte setzen müssen, sondern nur ein Fragezeichen, wohin der Wert gehen wird. Wir werden dies nicht mit der MySQL-Abfragemethode ausführen. können wir auch entfernen. Stattdessen rufen wir die MySQL-Anweisung init-Funktion übergeben die Verbindung als Argument zum Erstellen einer vorbereiteten Anweisungsobjekte. Dann rufen wir die MySQL-Anweisung pro Paar auf übergeben dieses Objekt und die SQL-Zeichenfolge. Dies gibt einen booleschen Erfolgswert zurück. Lassen Sie uns nachsehen, ob das falsch ist. Und wenn ja, stoppt das Skript, das die Fehlermeldung wie oben beschrieben ausgibt. An diesem Punkt alle Syntaxfehler in der SQL abgefangen. Als Nächstes verbinden wir Werte mit den einzelnen Platzhaltern in der SQL-Zeichenfolge, die als Bindung bezeichnet wird. Um dies zu tun, rufen wir die MySQL-Anweisung bind-Parameterfunktion auf. Wenn wir Werte an die Platzhalter binden, geben wir für jede Variable einen Typ an, wobei eine Zeichenfolge einzelner Zeichen verwendet wird, wobei jedes Zeichen einer der Variablen entspricht. Die Charaktere, die wir benutzen können. Ai für ganzzahlige Werte, die vier Doppelwerte, wie für Strings und B für Blobs. Rufen wir die Funktion auf, die die Anweisungsvariable übergibt , als ersten Parameter. Der zweite Parameter ist die Zeichenfolge von Typen. In diesem Fall wäre es also ein S für den Namen, da es sich um eine Zeichenfolge handelt, gefolgt von einem weiteren s für die E-Mail, ein anderes für die Beschreibung. Ein Auge für die Priorität, da dies eine Ganzzahl ist. Und schließlich noch ein S für die Kategorie. Der Rest der Parameter sind die Werte dieser Variablen. Der Name, die E-Mail, die Beschreibung, Priorität und die Kategorie aus dem Datenarray. Die Anzahl der Parameter muss mit der Anzahl der Zeichen in der Zeichenfolge übereinstimmen. Andernfalls wird eine Ausnahme ausgelöst. Sobald wir das gemacht haben. Um es auszuführen, rufen wir die MySQL-Anweisungen execute-Funktion auf, die das Anweisungsobjekt als Argument übergeben . Beachten Sie, dass es im Gegensatz zu früher nicht möglich ist, die zu generierende SQL zu erhalten und im PHP-Code auszudrucken. Dies liegt daran, dass die Bindung der Variablen auf dem Datenbankserver und nicht auf dem Webserver erfolgt. Probieren wir das mal aus. Wenn ich einige Werte in die Farm einfüge , die einzelne Anführungszeichen enthalten. Wenn ich die Farm einreiche, sehen wir die gespeicherte Nachricht in der Datenbank. Es gibt den neuen Datensatz , der die Werte aus der Farm enthält. Es ist etwas komplexer, eine SQL-Anweisung mit einer vorbereiteten Anweisung auszuführen. Aber das SQL selbst ist viel klarer und daher viel weniger anfällig für Fehler, die durch String-Verkettung verursacht werden können , wie wir gesehen haben. 24. Verwende das Muster, um die Post-Redirect-Get: Bisher haben wir mehrere Datensätze eingefügt, die wir hier in der Datenbank sehen können. Für dieses Video leere ich die Tabelle mit den Truncate-Anweisungen , damit es einfacher ist zu erkennen, was los ist. Mit einem leeren Tisch. Geben wir einige Daten in die Farm ein und fügen einen neuen Datensatz ein. Im Moment sehen wir die gespeicherte Meldung des Datensatzes in der Datenbank. Es gibt den neuen Rekord. jedoch die Seite im Browser aktualisiere, Wenn ich jedoch die Seite im Browser aktualisiere, erhalten wir zuerst eine Nachricht, in der wir aufgefordert werden, die Wiedervorlage erhalten wir zuerst eine Nachricht, in der wir aufgefordert der Farm zu bestätigen, wenn ich die Seite im Browser aktualisiere. Dies liegt daran, dass das, was im Browser angezeigt wird, das Ergebnis einer Post-Anfrage ist. Und wenn wir es aktualisieren, werden diese Daten erneut gesendet. Wir bestätigen dies. Wir sehen die gespeicherte Nachricht des Datensatzes erneut. Die Datenbank. Es gibt jetzt zwei Datensätze mit den Daten von der Farm. Jedes Mal, wenn wir diese Seite aktualisieren, wird ein neuer Datensatz eingefügt. Wenn Sie gerade etwas wie etwas gekauft oder eine Nachricht gesendet haben, möchten Sie nicht, dass dies leicht wiederholt wird. Der übliche Weg, dies zu vermeiden, besteht darin, das Post-Redirect-Get-Muster nach einer erfolgreichen Post-Anfrage zu verwenden . Anstatt mit dem anzuzeigenden Inhalt zu antworten, wird der Browser sofort auf eine andere Seite weitergeleitet. Fügen wir zunächst eine weitere Seite hinzu , auf die wir umleiten können. Fügen wir eine neue Datei mit dem Namen Success Dot HTML hinzu. Lassen Sie uns das Formular den ersten Teil des HTML in das Header-Element kopieren den ersten Teil des HTML das Header-Element und in die neue Datei einfügen. Anstelle einer Farm fügen wir einfach ein Absatzelement hinzu, das den Text enthält. Danke. Und der schließende Text und die HTML-Tags. Die Prozessfarm-Skripte. Anstatt diese Nachricht auszudrucken, haben wir an diesem Punkt erfolgreich einen neuen Datensatz eingefügt. Hier wird auf eine andere Seite umgeleitet. Wir tun dies, indem wir einen Standort-Header senden , der die URL enthält , zu der wir umleiten. Und wir setzen den Antwortstatuscode auch auf 303, was darauf hinweist, dass wir zu einer Bestätigungsseite umleiten. Um den Header zu senden, rufen wir die Header-Funktion auf und übergeben eine Zeichenfolge, die Position, einen Doppelpunkt und ein Leerzeichen enthält. Dann die URL, zu der wir umleiten, die in diesem Fall nur der relative URL-Erfolgspunkt HTML ist . Um den Antwortcode festzulegen, verwenden wir benannte Argumente, um zu vermeiden, dass in diesem Funktionsaufruf andere erforderliche Argumente festgelegt ihn auf 303 setzen. Dies ist das Ende dieses Skripts, aber es ist im Allgemeinen eine gute Praxis, nachdem umgeleitet haben, um das Skript unmittelbar danach zu beenden. Also werden wir einen Exit-Anruf einschließen. Probieren wir das mal aus. Jetzt mit ein paar anderen Daten in der Farm. Wenn wir es einreichen, werden wir auf die Erfolgsseite weitergeleitet. Wenn ich die Seite aktualisiere, wurde jedoch keine Nachricht angezeigt, in der wir aufgefordert wurden, die Einreichung der Apotheke in der Datenbank zu bestätigen . wurde nur ein Datensatz eingefügt. 25. Dein Kurs-Projekt: Erstelle ein Formular und speichere die Formulardaten in einer Datenbank: Jetzt bist du dran. Ihr Projekt für diese Klasse besteht darin, eine Farm zu erstellen, um einige Daten zu erfassen und diese Daten in einer Datenbank zu speichern. Entwerfen Sie zunächst eine Farm, die die Daten erfasst, die Sie benötigen. Zum Beispiel ein Anmeldeformular, eine Künstlerfarm und so weiter. Verwenden Sie die relevanten Eingabetypen für jedes Datenelement. Erstellen Sie als Nächstes ein PHP-Skript um die übermittelten Farmdaten zu verarbeiten und sicherzustellen, dass alle gültig sind. Erstellen Sie dann eine Datenbank mit einer Tabelle, um die Daten aus der Farm zu speichern. Verwenden Sie verschiedene Spaltentypen, um jedes Datenelement nach Bedarf zu speichern . Sobald Sie die Datenbanktabelle haben, können Sie den SQL- und PHP-Code schreiben , um einen Datensatz in diese Tabelle einzufügen. Leiten Sie schließlich zu einer Erfolgsseite um. Sobald ein Datensatz erfolgreich eingefügt wurde. Sie können diese Dokumentationswebsites als Referenz für den HTML-, SQL- und PHP-Code verwenden, den Sie schreiben. Außerdem steht der in der Klasse angezeigte Code zum Download zur Verfügung. Wenn Sie Hilfe benötigen, können Sie im Abschnitt zur Unterrichtsdiskussion unten eine Frage stellen. Ich freue mich auf Ihre Projekte. 26. Schlussbemerkung: Herzlichen Glückwunsch, du hast den Kurs beendet. In dieser Klasse haben Sie alles gelernt, was Sie wissen müssen, um eine Farm in HTML zu erstellen , die Eingaben für verschiedene Datentypen enthält, wie Sie diese Daten in PHP validieren und wie Sie die Daten daraus speichern wissen müssen, um eine Farm in HTML zu erstellen, die Eingaben für verschiedene Datentypen enthält, wie Sie diese Daten in PHP validieren und wie Sie die Daten daraus speichern können Farm in eine Datenbank auf dem Server. Dies ist eine der Schlüsselfähigkeiten für jeden Entwickler von Webanwendungen. Wenn Sie gerade erst anfangen oder ein erfahrener Entwickler sind , der seine Fähigkeiten erweitern möchte , Sie gerade einige wichtige Techniken für diese vielgefragte Funktionalität gelernt . Vergessen Sie nicht, Ihre Projekte in der Projektgalerie des Kurses zu posten . Ich freue mich darauf, sie zu sehen. Endlich. Ich wollte mich nur bei dir bedanken, dass du diesen Kurs absolviert hast. Ich hoffe, es hat dir gefallen. Wenn ja, erwägen Sie bitte, eine Bewertung abzugeben. Und wenn es ein Thema gibt, das ich behandeln soll, zögern Sie bitte nicht, es mich wissen zu lassen. Wir sehen uns in der nächsten Klasse.