Book description
PHP & MySQL von Kopf bis Fuß zu lesen ist wie Unterricht bei einem coolen Lehrer: Das Lernen macht plötzlich Spaß und Sie freuen sich tatsächlich auf die nächste Stunde. In diesem abwechslungsreichen und visuell ansprechenden Arbeitsbuch erfahren Sie ganz praktisch, wie Sie mit PHP und MySQL schnell eine datenbankbasierte Website auf die Beine stellen. Machen Sie sich die Hände schmutzig und bauen Sie sofort echte Anwendungen wie eine High-Score-Liste für ein Computerspiel oder eine Online-Dating-Site.
Wenn Sie dieses Buch durchgearbeitet haben, sind Sie gut gerüstet und wissen, wie man Formulare validiert, mit Sitzungs-IDs und Cookies arbeitet, Datenabfragen und Joins durchführt, Dateioperationen vornimmt und vieles mehr.
Table of contents
- PHP & MySQL von Kopf bis Fuß
- Die Autoren von PHP & MySQL von Kopf bis Fuß
- Wie man dieses Buch benutzt: Einführung
-
1. Ihren statischen Seiten Leben einhauchen: Das Web lebt
- HTML ist statisch und langweilig
- PHP macht Webseiten lebendig
- Egons Formular
- Formulare werden aus HTML gebaut
- Das Formular macht Probleme
- HTML lebt auf dem CLIENT
- PHP lebt auf dem SERVER
- PHP-Skripten laufen auf dem Server
- Mit PHP auf die Formulardaten zugreifen
- PHP-Skripten gehören auf den Server!
- Die PHP-Skripten auf den Server bringen
- Von PHP zu HTML
- Egons PHP-Skript zerlegt
- Einige PHP-Lebensregeln Programmier
- Den perfekten Variablennamen finden
- Variablen speichern Daten
- $_POST ist eine superglobale Variable
- $_POST gibt Skripten Zugriff auf Formulardaten
- Den Inhalt einer E-Mail mit PHP erstellen
- Auch Klartext kann (etwas) formatiert werden
- Escape-Sequenzen brauchen doppelte Anführungszeichen
- Eine E-Mail für Egon aufbauen
- Die E-Mail-Bestandteile in Variablen speichern
- Mit PHP eine E-Mail senden
- Egon erhält Post
- Egon verliert den Überblick
- Ihr PHP & MySQL-Werkzeugkasten
-
2. Mit MySQL verbinden: Die Bausteine zusammenfügen
- Egons PHP-Formular läuft. Zu gut ...
- MySQLs Stärke ist die Speicherung von Daten
- Egon braucht eine MySQL-Datenbank
- Eine MySQL-Datenbank und eine Tabelle erstellen
- INSERT im Einsatz
- Mit SELECT Tabellendaten abfragen
- Lassen wir PHP den SQL-Kram erledigen
- Mit PHP können die Daten die Anwendung steuern
- Aus PHP eine Verbindung mit MySQL aufbauen
- Daten mit einem PHP-Skript einfügen
- Mit PHP-Funktionen mit der Datenbank reden
- Verbinden mit mysqli_connect()
- Die INSERT-Abfrage in PHP aufbauen
- Die Datenbank mit PHP abfragen
- Die Verbindung mit mysqli_close() schließen
- $_POST liefert die Formulardaten
- Egon braucht Hilfe beim Durchforsten der Datenbank
- Egon kommt seinem Fang immer näher
-
3. Datenbanken erstellen und befüllen: Eigene Daten erstellen
- Der Elvis-Laden nimmt den Betrieb auf
- Elmar braucht eine Anwendung
- Der Entwurf für Elmars Anwendung
- Am Anfang war eine Tabelle ...
- Mit dem MySQL-Server reden
- Die Datenbank für Elmar erstellen
- In der Datenbank eine Tabelle erstellen
- Die Daten definieren
- Machen Sie Bekanntschaft mit einigen MySQL-Datentypen
- Die Tabelle mit einer Abfrage erstellen
- Die Tabelle in die Datenbank bringen
- Die aktive Datenbank auswählen
- DESCRIBE offenbart die Struktur von Tabellen
- Jetzt kann Elmar Daten speichern
- Das Anmeldeskript erstellen
- Die andere Seite der Anwendung
- Die Struktur des Mail senden-Skripts
- Zunächst brauchen wir die Daten
- mysqli_fetch_array() ruft Abfrageergebnisse ab
- Eine Weile Schleifen drehen
- Daten mit while durchlaufen
- Sie haben Post ... von Elmar!
- Ein paar Personen wollen raus
- Daten mit DELETE löschen
- Mit WHERE spezifische Daten löschen
- Zufälliges Löschen vermeiden
- MachMichElvis.de ist eine Webanwendung
- Ihr PHP & MySQL-Werkzeugkasten
-
4. Praxistaugliche Anwendungen: Ihre Anwendung im Web
- Einige von Elmars Kunden sind verärgert
- Elmar vor Elmar schützen
- Saubere Formulardaten verlangen
- Die Logik hinter der Mail senden-Validierung
- Mit IF kann Code Entscheidungen fällen
- Auf Wahrheit prüfen
- IF kann nicht nur auf Gleichheit prüfen
- Die Mail senden-Daten validieren
- PHP-Funktionen zur Prüfung von Variablen
- Vergleiche mit AND und OR verknüpfen
- Benutzer wünschen Feedback
- PHP oder nicht PHP
- Doppelten Code vermeiden
- Das HTML-Formular nur einmal schreiben
- Ein Formular, das sich selbst referenziert
- Die Formularaktion auf das Skript zeigen lassen
- Prüfen, ob das Formular übermittelt wurde
- Aber einige Benutzer meckern immer noch
- Tabellenzeilen sollten eindeutig identifizierbar sein
- Primärschlüssel erzwingen Eindeutigkeit
- Von Checkboxen zu IDs
- Ein Array mit foreach durchlaufen
-
5. Mit Daten aus Dateien arbeiten: Wenn Datenbanken nicht ausreichen
- Virtueller Gitarren-Wettstreit
- Der Beweis im Bild
- Die Anwendung muss Bilder speichern
- Den Datei-Upload vorbereiten
- Die Highscore-Datenbank ändern
- Wie erhalten wir Bilder?
- Das Bild in die Datenbank einfügen
- Den Namen der hochgeladenen Datei ermitteln
- Wo ist die hochgeladene Datei gelandet?
- Den Bilddateien eine Heimat geben
- Gemeinsame Daten müssen geteilt werden
- Gemeinsame Skriptdaten einschließen
- Betrachten Sie require_once als »einfügen«
- Bei Highscores ist Timing Ordnung alles
- Den größten Guitar Wars-Heroen ehren
- Den Topscore mit HTML und CSS formatieren
- Nur kleine Bilder erlaubt
- Die Dateivalidierung macht die Anwendung robuster
- Eine Admin-Seite einbauen
- Skripten können kommunizieren
- GET und POST
- GET, POST und Highscores löschen
- Den zu löschenden Highscore isolieren
- Mit LIMIT steuern, wie viel gelöscht wird
- PHP & MySQL-Kreuzworträtsel, Lösung
- Ihr PHP & MySQL-Werkzeugkasten
-
6. Anwendungen absichern: Ein Quantum Paranoia
- Der Tag, an dem die Musik starb
- Wo sind die Highscores hin?
- Schutz für virtuelle Gitarrenartisten
- Die Guitar Wars-Admin-Seite schützen
- Die HTTP-Authentifizierung verlangt Header
- Mit PHP Header steuern
- Authentifizierung mit Headern
- PHP-Magneten
- PHP-Magneten, Lösung
- Ein Autorisierungsskript erstellen
- Guitar Wars Episode II: Angriff der Highscore-Klone
- Subtraktion durch Addition
- Sicherheit erfordert Menschen
- Der Plan für eine Guitar Wars-Moderation
- Platz für die Bestätigungen schaffen
- Unbestätigte Highscores rausschmeißen
- Der Millionen-Punkte-Hack
- Wird wirklich alles moderiert?
- Wie hat sie das bloß angestellt?
- MySQL mit Kommentaren austricksen
- SQL-Injection
- Ihre Daten gegen SQL-Injection wappnen
- Ein sichereres INSERT
- Eine Formularvalidierung kann nie gut genug sein
- Waffenstillstand!
- Ihr PHP & MySQL-Werkzeugkasten
-
7. Persnalisierte Webanwendungen: Erinnern Sie sich an mich?
- Gegensätze ziehen sich an, sagt man
- Hassliebe.net basiert auf persönlichen Daten
- Benutzer-Logins
- Die Benutzer-Logins vorbereiten
- Die Datenbank für Logins vorbereiten
- Eine Login-Schnittstelle aufbauen
- Passwörter verschlüsseln mit SHA()
- Passwörter dekodieren vergleichen
- Nutzer mit HTTP authentifizieren
- Benutzer mit HTTP-Authentifizierung einloggen
- Ein Anmeldeformular für neue Benutzer
- Den Benutzern eine Möglichkeit zur Anmeldung geben
- Manchmal braucht man Cookies
- Was in einem Cookie steckt
- Cookies mit PHP nutzen
- Den Login-Ablauf überdenken
- Ein cookiebasiertes Login
- Die Navigation in Hassliebe.net
- Cookies löschen
- Sitzungen laufen nicht nur über den Client
- Sitzungsleben
- Sitzungsdaten festhalten
- Hassliebe.net mit Sitzungen
- Logout mit Sitzungen
- Ganz zu Sitzungen übergehen
- Benutzeraufstand
- Sitzungen sind kurzlebig ...
- ...Cookies können unsterblich sein!
- Sitzungen + Cookies = dauerhafteres Gedächtnis
- Ihr PHP & MySQL-Werkzeugkasten
- 8. Doppelten Code eliminieren: Teilen ist weise
-
9. Die Daten im Griff: Daten ernten
- Das perfekte Gegenstück finden
- Bei der Gegensatzsuche dreht sich alles um Daten
- Die Hassliebe-Daten zerlegen
- Die Datenbank über ein Schema modellieren
- Mehrere Tabellen verknüpfen
- Fremdschlüssel im Einsatz
- Tabellen können einander zeilenweise entsprechen
- Eine Zeile führt zu vielen
- Viele passende Zeilen
- Den Fragebogen aufbauen
- Die Reaktionen in die Datenbank bringen
- Formulare mit Daten steuern
- Effizienz ...
- Das Fragebogenformular generieren
- Jetzt steuern die Daten das Formular
- Das Streben nach Normalität
- Denken Sie beim Normalisieren an Atome
- Warum normal sein?
- Drei Schritte zu einer normalen Datenbank
- Die Hassliebe.net-Datenbank ändern
- Also ist die Datenbank jetzt normal?
- Abfragen in Abfragen
- Die Tabellen verknüpfen
- Mit Punkten verbinden
- Was man mit Inner-Joins noch machen kann
- USING statt ON
- Kosenamen für Tabellen und Spalten
- Joins im Einsatz
- Liebe ist ein Zahlenspiel
- Fünf Schritte zum gelungenen Gegenstück
- Die Gegenstücksuche vorbereiten
- Gegensätzlichkeit prüfen
- Wir brauchen eine for-Schleife
- Die Anwendung fertigstellen
- Ihr PHP & MySQL-Werkzeugkasten
-
10. String-Funktionen und eigene Funktinen: Funktionen machen das Leben leichter
- Ein guter riskanter Job ist schwer zu finden
- Die Suche lässt keinen Raum für Abweichungen
- LIKE macht Abfragen flexibel
- Einen String zerlegen
- implode() macht aus einem Array einen String
- Den Such-String vorbereiten
- Unerwünschte Zeichen ersetzen
- Die Abfrage braucht echte Suchbegriffe
- Die nicht leeren Elemente kopieren
- Wenn man nur Teile von Strings braucht
- Vom anderen Ende her abrufen
- Ergebnisse sortieren mit mehreren Abfragen
- Code wiederverwenden mit Funktionen
- Die Abfrage in einer Funktion aufbauen
- SWITCH trifft Entscheidungen
- abfrage_aufbauen() sortierfähig machen
- Die Ergebnisse auf mehrere Seiten verteilen
- Mit LIMIT die zurückgelieferten Zeilen beschränken
- Seitenlinks mit LIMIT steuern
- Die Daten für die Seiteneinteilung festhalten
- Die Seitenvariablen einrichten
- Die Abfrage für die Ergebnisseiten anpassen
- Die Navigationslinks generieren
- Das Suchskript zusammenbauen
- Das Suchskript, Fortsetzung ...
- Ihr PHP & MySQL-Werkzeugkasten
-
11. Reguläre Ausdrücke: Ersetzungsregeln
- Benutzer können jetzt Stellengesuche einstellen
- Entscheiden, wie Ihre Daten aussehen sollten
- Ein Muster für Telefonnummern formulieren
- Mustervergleiche mit regulären Ausdrücken
- Muster und Metazeichen
- Muster mit Zeichenklassen verfeinern
- Muster prüfen mit preg_match()
- Die Telefondaten vereinheitlichen
- Unerwünschte Zeichen eliminieren
- E-Mail-Adressen sind kompliziert
- Domain-Suffixe gibt es massenhaft
- Die Domain prüfen
- E-Mail-Validierung: Die Steine zusammensetzen
- Ihr PHP & MySQL-Werkzeugkasten
-
12. Daten visualisieren!: Dynamische Grafiken
- Guitar Wars Reloaded: Aufstand der Maschinen
- Kein Eingabeformular ist sicher
- Mensch und Maschine unterscheiden
- Automatisierte Übermittlung automatisiert vereiteln
- Den Text für das CAPTCHA generieren
- Das CAPTCHA-Bild zeichnen
- Die GD-Grafikfunktionen
- Die GD-Grafikfunktionen, Fortsetzung ...
- Text in einer bestimmten Schrift zeichnen
- Ein zufälliges CAPTCHA-Bild erzeugen
- Guitar Wars den Verstand zurückgeben
- Das CAPTCHA dem Highscore melden-Skript hinzufügen
- Fünf Stufen der Gegensätzlichkeit
- Gegensätzlichkeit zeichnen
- Daten für Säulendiagramme speichern
- Von einem Array zum anderen
- Ein Array gegensätzlicher Themen aufbauen
- Einen Plan für die Säulendiagramme entwerfen
- Kategorien zählen
- Die Berechnung durchführen
- Säulendiagrammgrundlagen
- Das Säulendiagramm zeichnen und anzeigen
- Separate Diagrammdateien für alle Benutzer
- Diagramme und glückliche Benutzer
- Ihr PHP & MySQL-Werkzeugkasten
-
13. RSS und Webservices: Tore zur Welt
- Egon geht an die Öffentlichkeit
- Die Entführungsberichte zu den Menschen bringen
- RSS stellt Webinhalte zu
- RSS ist eigentlich XML
- Von der Datenbank zum RSS-Reader
- RSS im Bilde
- Dynamisch einen RSS-Feed generieren
- Der Link auf den RSS-Feed
- Ein Bild Video ist mehr wert als Tausend Millionen Wörter
- Webinhalte anderer nutzen
- YouTube-Videos servieren
- Eine YouTube-Videoanfrage
- Egon ist bereit, eine REST-Anfrage aufzubauen
- YouTube spricht XML
- Dekonstruktion einer YouTube-XML-Antwort
- Die XML-Videodaten im Bild
- Auf XML-Daten über Objekte zugreifen
- Von XML-Elementen zu PHP-Objekten
- Über Objekte in XML-Daten eindringen
- Nicht ohne Namensraum!
- Die Fang-Sichtungen nehmen zu
- Die Videos einbinden
- Die Videodaten zur Anzeige formatieren
- Ihr PHP & MySQL-Werkzeugkasten
-
A. Was übrig bleibt: Die Top Ten der Themen, die wir nicht behandelt haben
- 1. Dieses Buch mit PHP 4 und den mysql-Funktionen einsetzen
- 2. Benutzerberechtigungen in MySQL
- 3. Fehlermeldungen für MySQL
- 4. Exception-Handling bei PHP-Fehlern
- 5. PHP objektorientiert
- 6. Ihre PHP-Anwendung absichern
- 7. Ihre Anwendung vor Cross-Site-Scripting schützen
- 8. Operator-Vorrang
- 9. Der Unterschied zwischen PHP 5 und PHP 6
- 10. Den PHP-Code anderer wiederverwenden
-
B. Die Entwicklungsumgebung einrichten: Der Spielplatz
- Eine PHP-Entwicklungsumgebung aufbauen
- Herausfinden, was Sie haben
- Habe ich einen Webserver?
- Habe ich PHP? Welche Version?
- Habe ich MySQL? Welche Version?
- Beginnen wir mit dem Webserver
- Die Apache-Installation abschließen
- PHP-Installation
- Die Schritte bei der PHP-Installation
- Die PHP-Installation abschließen
- MySQL installieren
- Schritte zur MySQL-Installation unter Windows
- Das Installationspaket herunterladen
- Einen Zielordner wählen
- Die Installation abschließen
- Auf Mac OS X PHP aktivieren
- MySQL-Installation auf Mac OS X
- Aus der Entwicklung in Produktion gehen
- Daten (und Tabellen) ausgeben
- Den Einsatz der gesicherten Daten vorbereiten
- Die kopierten Daten auf den Live-Server spielen
- Mit dem Live-Server verbinden
- C. PHP erweitern: Wenn Sie mehr brauchen
- Stichwortverzeichnis
Product information
- Title: PHP & MySQL von Kopf bis Fuß
- Author(s):
- Release date: May 2009
- Publisher(s): O'Reilly Verlag
- ISBN: 97833897219038
You might also like
book
PHP und MySQL für Kids, 8. Auflage
Webseiten programmieren lernen mit allem Drum und Dran Mit vielen kleinen Projekten: Taschengeldrechner, automatische Geburtstagsgrüße, ein …
book
SQL – kurz & gut , 3rd Edition
Wenn Sie bei Ihrer täglichen Arbeit als Datenanalyst, Data Scientist oder Data Engineer SQL verwenden, ist …
book
jQuery von Kopf bis Fuß
Mit "jQuery von Kopf bis Fuß" lernt der Leser im bewährten Von-Kopf-Fuß-Stil, wie man innerhalb kürzester …
book
JavaScript® and AJAX for Dummies®
Learn to use these powerful tools together and build Web sites that work If you want …