weitere Suche ermittelt, ob der Läufer ein Mann oder eine Frau war. Erinnern Sie sich noch an das von json_encode zurückgegebene Objekt? Über dieses Objekt können wir mithilfe der Punktnotation (.) direkt auf die Eigenschaften zugreifen. Als einzige Eigenschaft enthält das Objekt ein Array mit dem Namen laeufer . Über die Schlüssel des assoziativen Arrays können wir deutlich effizienter ermitteln, ob es sich um einen Läufer oder eine Läuferin handelt. Spitzen Sie Ihren Bleistift Aktualisieren Sie die Funktion laeufer_db_abfragen , um das von service.php zurückgegebene JSON-Objekt auszulesen. Verwenden Sie anschließend einen Bedingungsblock, um zu entscheiden, welcher Liste die Läufer jeweils hinzugefügt werden müssen. Aber Vorsicht! Tun Sie das nur, wenn das JSON-Objekt tatsächlich Läuferinformationen zurückgibt. Spitzen Sie Ihren Bleistift: Lösung Mithilfe der Bedingungsanweisungen und der im JSON-Objekt zurückgegebenen Informationen können Sie ermitteln, welcher Liste die Läufer zugeordnet werden sollen. Wie zuvor sollen außerdem alle Läufer in der alle_finisher -Liste erscheinen. Freak-Futter Anhand der each -Methode können wir über alle im JSON-Objekt zurückgegebenen Array-Elemente eine Schleife ausführen. Diese Methode unterscheidet sich leicht von der Methode (Selektor).each : Sie kann nur über Arrays iterieren, die nicht im jQuery-Format vorliegen, zum Beispiel unser laeufer -Array. Probefahrt Aktualisieren Sie die Funktion laeufer_db_abfragen in Ihrer Datei meine_skripts.js . Öffnen Sie dann die Datei index.html , um sich anzusehen, wie die Läufer aus der MySQL-Datenbank mit Ajax, JSON und PHP geladen werden. Guter Einwand! Sobald wir diesen Teil fertig haben, heißt es »Aloha, Waikiki!« Wir müssen aber noch dafür sorgen, dass uns die von den Marketingleuten eingegebenen Daten keine Schwierigkeiten machen.
Datensäuberung und -validierung in PHP Je mehr Spambots und Hacker versuchen, Ihre Daten zu missbrauchen, desto weniger sollten Sie den in das Formular eingegebenen Daten blind vertrauen. Es ist prinzipiell eine gute Idee, die an der Server geschickten Daten vor dem Einfügen in die Datenbank zu validieren und zu säubern (engl. »to sanitize« ). Dadurch wird sichergestellt, dass Sie auch die für ein Feld erwarteten Informationen erhalten (Validierung) und dass die Daten keine Gefährdung für den Server oder die Datenbank darstellen (Säuberung). Das kann dabei helfen, Sie vor SQL Injections, Drive-by-Cross-Site-Scripting und einer Menge anderer übler Dinge (mehr dazu finden Sie online) zu schützen. Für unsere Applikation werden wir ein paar praktische PHP-Methoden verwenden, die dafür sorgen, dass Ihre Daten »sauber« sind und den richtigen Typ haben.
Für die Säuberung gibt es noch eine Reihe weiterer Funktionen, unter ihnen htmlentities , trim , stripslashes , mysql_real_escape_string und viele weitere. Noch mehr Funktionen finden Sie beispielsweise in Kapitel 6 von PHP & MySQL von Kopf bis Fuß .
Dieselbe PHP-Datei für mehrere Aufgaben nutzen Bisher kennen wir zwei Arten, Daten für die Verarbeitung mit PHP an den Server zu senden: POST und GET. Anhand von Bedingungsanweisungen können wir überprüfen, ob die Daten mit einem POST- oder einem GET-Request an die PHP-Datei übergeben wurden, und entsprechend reagieren. Erinnern Sie sich noch an das versteckte Formularfeld, das wir ein paar Seiten weiter vorne in die Seite eingebaut haben?
Diesen Wert können wir aus dem POST-Request auslesen und wissen so, dass das Formular abgeschickt wurde. Danach können wir ein paar Funktionen zum Säubern und Validieren der Daten ausführen, um sicherzustellen, dass alle gewünschten Daten übergeben wurden. Auf ähnliche Weise können wir den Aufruf von getJSON (für das PHP-Objekt $_GET ) versehen, wenn die Läuferinformationen aus der Datenbank gelesen werden sollen. So können bei Bedarf bestimmte Codeteile in der PHP-Datei aufgerufen werden und wir müssen nur eine PHP-Datei pflegen.
PHP ofenfrisch Aktualisieren Sie die Datei service.php mit dem folgenden Code. Er kann sowohl mit GET- als auch mit POST-Anfragen umgehen. Außerdem müssen noch die Funktion datenbank_verbindung und die Funktion zur Überprüfung auf erfolgreichen Verbindungsaufbau eingebaut werden.
Tun Sie das hier! Erweitern Sie den Aufruf von getJSON um einen URL-Parameter namens action , der den