Ask SM PHP: Form Validation, MySQL Konvertieren von XML
Von Jason Lengstorf
PHP und andere serverseitige Programmiersprachen sind tricky. Das Handbuch kann schwierig zu entziffern, und es ist nicht wirklich ein Weg, um "Bestätigen" ein PHP-Skript. Wenn Sie mit dem Programmieren sind, können Sie verloren und weiß nicht, wo sie Hilfe suchen. Als ich anfing, Programmierung, verbrachte ich Stunden zog mir die Haare aus, grub durch Handbücher, und wälzen Bücher. Es war nicht, bis ich eine große Online-Community, dass ich wirklich damit begonnen, in der Schaukel mit PHP bekommen und fühlte mich wie ich war eigentlich etwas zu erreichen gefunden.
Hier bei Smashing Magazine, wollen wir helfen PHP-Programmierer, die gerade erst gestartet werden wollen oder ihre Programmierung Koteletts zu verbessern. Unser Ziel ist es, Probleme unterstützen unsere Gemeinschaft durch ihre Fragen beantworten und versuchen ihre Lösungen zu finden, um.
Während Chris Coyier kümmert sich CSS-und JavaScript -Fragen, von nun an mir, Jason Lengstorf , werden die Anfragen kümmern uns um Ihre PHP-und MySQL-bezogene.
![Get-Variablen in Fragen SM [PHP]: Form Validation, Converting MySQL XML](/Images/smashingmagazine3-get-vars.jpg)
Bitte zögern Sie bitte Ihre Forum PHP / MySQL-bezogenen Fragen in unserem (Sie müssen sich anmelden, ja, das Forum ist nicht offiziell noch nicht, aber es läuft!). Oder können Sie mir einfach tweet @ jasonatennui mit dem Tag "[Ask SM]." In unserem ersten Tranche, wir MySQL Antwort ein paar Brocken von Benutzer-und-vorgelegten Fragen zu PHP. Beiträge zu Ruby, Python, Photoshop und Illustrator ausgerichtet sind als auch kommen.
[By the way: Die Registerkarte "Netzwerk" (auf dem oberen Rand der Seite) wird mehrmals am Tag. Es bietet ausgewählte Artikel aus den besten Web-Design-Blogs!]
1. Formular-Validierung mit PHP
@ Titel fragt:
Was ist eine einfach zu implementierende und wiederverwendbar Reihe von Funktionen oder kleine Klasse, die Form-Validierung mit PHP automatisiert?
Ich habe davon gehört gute Dinge über Formularvalidierung Klasse , aber ich denke es ist wirklich besser, selbst die Zeit nehmen, Ihr zu schreiben. Es gibt tonnenweise tutorials einfach auf Google für den Einstieg, und wie sich Ihre Anforderungen ändern, werden Sie wahrscheinlich am Ende optimiere den Code, um Ihre Notwendigkeiten zu passen.
Wenn du gehst zu sein Speicherung der validierten Werte in einer MySQL-Datenbank, wäre es klug, in Methoden zur Vermeidung der Injection-Angriffe zu suchen. Es gibt einige wunderbare freie Bibliotheken ( mysqli und PDO , zum Beispiel), dass die Injektion eine lange Wege zur Sicherung Ihres Web-Anwendungen durch die Schaffung von Prepared Statements SQL, die helfen zu verhindern.
2. Konvertieren von XML zu MySQL
@ Igmuska fragt:
Was ist die beste Praxis für die Umwandlung von XML für MySQL mit Google Maps auf einer PHP-Seite?
Es gibt ein ziemlich gutes Tutorial auf der Google Maps API Seite kennen zu lernen mit dem Format, das Sie benötigen, um für die Datei verwenden XML, und dann werden Sie wollen, um Einträge schreiben Sie eine Funktion oder Klasse zu handhaben XML die Erstellung von individueller.
Man könnte so etwas wie dieses zu Ihrem XML-Ausgabe erzeugen kann:
while ($ entry = mysql_fetch_assoc ($ result)) ($ xml .= <<<XML_OUTPUT <($ entry ['Datentyp'])> <Punkt lng = "($ entry ['Längengrad'])" lat = "( $ entry ['latitude']) "/> <icon image="{$entry['icon']}" class="local" /> </ ($ entry ['Datentyp'])> XML_OUTPUT;)
3. require_once ()-Problem
@ DanBowles fragt:
Ich führte eine require_once (...) über eine Konfigurationsdatei nur zu finden, konnte ich keinen Zugriff auf die Variablen in der Datei. Wie kommt das?
Es gibt keine harten und schnellen Antwort auf diese Frage, aber mögliche Probleme könnte sein, dass Sie versuchen, Variablen innerhalb einer Funktion, ohne sie als globals, zuzugreifen oder dass Ihre config-Datei ist in einem Format, dass Ihr Server nicht für die zu konfigurierende PHP parsen.
Um sicherzustellen, dass die PHP in der config-Datei wird analysiert, um die Datei Text auszugeben (dh echo 'Ist das Ding auf?';) Und sehen, ob es sich zeigt, wenn Sie die Datei benötigen. Wenn Sie versuchen, Datei zu verwenden Variablen aus der Konfigurationsdatei in der Funktion enthaltenen Elternteil, deklarieren Sie die Variable als global an der Spitze der Funktion (dh global $ myVar;).
4. Suche in verschiedenen Tabellen?
@ MikevHoenselaar fragt:
Was ist der beste Weg, um eine Webseite mit PHP / MySQL in verschiedenen Tabellen suchen?
Um nach mehreren Tabellen, beginnen mit JOIN in Ihrer MySQL-Abfrage. Ein großer einleitenden Artikel über das Konzept steht hier . Im Hinblick auf die beste Methode des Suchens, das hängt von der Art der Informationen, die Sie suchen.
Wenn Sie genaue Phrase bist der Suche nach einem, ist es wahrscheinlich am besten, starten mit einem LIKE -Anweisung, welche Titel sieht nach einer genauen Wort oder einen Satz (dh eine Suche nach der Einreise). Weitere allgemeine Fragen wäre bestenfalls eine gehandhabt werden durch Volltext-Suche , die Tabelle führt durch ein und findet entsprechenden Einträge (dh eine Site-weite Suche nach Einträgen im Zusammenhang mit einem cetain Wort oder einen Satz).
5. Abrufen von Informationen aus einer XML-Datei
@ Korteev fragt:
Wie kann ich Informationen aus einer XML-Datei?
RSS ist ein äußerst nützliches Werkzeug für Entwickler, weil es uns um Informationen von einer Website zu nehmen und steckte es in eine andere ermöglicht. Es hat auch den Vorteil, dass Sie zu, dass der Inhalt ziemlich leicht Format.
Für PHP5 SimpleXML ist ein großes Werkzeug, das einfach macht Parsen von XML-Feeds wirklich. Es gibt einen großen Artikel hier auf, wie man es benutzt, als auch eine Ressource auf w3schools.com verfügbaren Überblick über die verschiedenen Methoden.
Nachdem du den Dreh raus, mit ist es ziemlich einfach. Zum Beispiel, nehmen Sie diese XML-Datei:
<? Xml version = "1.0"?> <people> <person> <name> John Doe </ name> <age> 27 </ Alter> </ person> <person> <name> Jane Doe </ name> < Alter> 31 </ Alter> </ person> </ Personen>
Um Informationen aus der Datei, alles, was wir zu tun haben, ist dies:
<? Php $ = simplexml_load_file Menschen ("people.xml '); foreach ($ Personen-> Person als $ person) (echo" Name: ($ person [' name ']) n "; echo" Alter: ($ person ['alter']) n ";)?>
SimpleXML unterstützt zudem Namespaces , die ist sehr nützlich, wenn das Parsen Flickr RSS-Feed verfolgen , zum Beispiel.
Weitere Ressourcen
- PHP Manual - Das ist meine Bibel.
- MySQL Manual - ein wenig schwieriger zu verstehen, aber immer noch unglaublich nützlich.
- W3Schools Forum - Wenn ich nicht weiter kommst, kann ich immer helfen zähle auf diese Jungs für.
(Al)
