Books & Videos

Table of Contents

  1. Chapter 1 Ihren statischen Seiten Leben einhauchen: Das Web lebt

    1. HTML ist statisch und langweilig

    2. PHP macht Webseiten lebendig

    3. Egons Formular

    4. Formulare werden aus HTML gebaut

    5. Das Formular macht Probleme

    6. HTML lebt auf dem CLIENT

    7. PHP lebt auf dem SERVER

    8. PHP-Skripten laufen auf dem Server

    9. Mit PHP auf die Formulardaten zugreifen

    10. PHP-Skripten gehören auf den Server!

    11. Die PHP-Skripten auf den Server bringen

    12. Von PHP zu HTML

    13. Egons PHP-Skript zerlegt

    14. Einige PHP-Lebensregeln Programmier

    15. Den perfekten Variablennamen finden

    16. Variablen speichern Daten

    17. $_POST ist eine superglobale Variable

    18. $_POST gibt Skripten Zugriff auf Formulardaten

    19. Den Inhalt einer E-Mail mit PHP erstellen

    20. Auch Klartext kann (etwas) formatiert werden

    21. Escape-Sequenzen brauchen doppelte Anführungszeichen

    22. Eine E-Mail für Egon aufbauen

    23. Die E-Mail-Bestandteile in Variablen speichern

    24. Mit PHP eine E-Mail senden

    25. Egon erhält Post

    26. Egon verliert den Überblick

    27. Ihr PHP & MySQL-Werkzeugkasten

  2. Chapter 2 Mit MySQL verbinden: Die Bausteine zusammenfügen

    1. Egons PHP-Formular läuft. Zu gut ...

    2. MySQLs Stärke ist die Speicherung von Daten

    3. Egon braucht eine MySQL-Datenbank

    4. Eine MySQL-Datenbank und eine Tabelle erstellen

    5. INSERT im Einsatz

    6. Mit SELECT Tabellendaten abfragen

    7. Lassen wir PHP den SQL-Kram erledigen

    8. Mit PHP können die Daten die Anwendung steuern

    9. Aus PHP eine Verbindung mit MySQL aufbauen

    10. Daten mit einem PHP-Skript einfügen

    11. Mit PHP-Funktionen mit der Datenbank reden

    12. Verbinden mit mysqli_connect()

    13. Die INSERT-Abfrage in PHP aufbauen

    14. Die Datenbank mit PHP abfragen

    15. Die Verbindung mit mysqli_close() schließen

    16. $_POST liefert die Formulardaten

    17. Egon braucht Hilfe beim Durchforsten der Datenbank

    18. Egon kommt seinem Fang immer näher

  3. Chapter 3 Datenbanken erstellen und befüllen: Eigene Daten erstellen

    1. Der Elvis-Laden nimmt den Betrieb auf

    2. Elmar braucht eine Anwendung

    3. Der Entwurf für Elmars Anwendung

    4. Am Anfang war eine Tabelle ...

    5. Mit dem MySQL-Server reden

    6. Die Datenbank für Elmar erstellen

    7. In der Datenbank eine Tabelle erstellen

    8. Die Daten definieren

    9. Machen Sie Bekanntschaft mit einigen MySQL-Datentypen

    10. Die Tabelle mit einer Abfrage erstellen

    11. Die Tabelle in die Datenbank bringen

    12. Die aktive Datenbank auswählen

    13. DESCRIBE offenbart die Struktur von Tabellen

    14. Jetzt kann Elmar Daten speichern

    15. Das Anmeldeskript erstellen

    16. Die andere Seite der Anwendung

    17. Die Struktur des Mail senden-Skripts

    18. Zunächst brauchen wir die Daten

    19. mysqli_fetch_array() ruft Abfrageergebnisse ab

    20. Eine Weile Schleifen drehen

    21. Daten mit while durchlaufen

    22. Sie haben Post ... von Elmar!

    23. Ein paar Personen wollen raus

    24. Daten mit DELETE löschen

    25. Mit WHERE spezifische Daten löschen

    26. Zufälliges Löschen vermeiden

    27. MachMichElvis.de ist eine Webanwendung

    28. Ihr PHP & MySQL-Werkzeugkasten

  4. Chapter 4 Praxistaugliche Anwendungen: Ihre Anwendung im Web

    1. Einige von Elmars Kunden sind verärgert

    2. Elmar vor Elmar schützen

    3. Saubere Formulardaten verlangen

    4. Die Logik hinter der Mail senden-Validierung

    5. Mit IF kann Code Entscheidungen fällen

    6. Auf Wahrheit prüfen

    7. IF kann nicht nur auf Gleichheit prüfen

    8. Die Mail senden-Daten validieren

    9. PHP-Funktionen zur Prüfung von Variablen

    10. Vergleiche mit AND und OR verknüpfen

    11. Benutzer wünschen Feedback

    12. PHP oder nicht PHP

    13. Doppelten Code vermeiden

    14. Das HTML-Formular nur einmal schreiben

    15. Ein Formular, das sich selbst referenziert

    16. Die Formularaktion auf das Skript zeigen lassen

    17. Prüfen, ob das Formular übermittelt wurde

    18. Aber einige Benutzer meckern immer noch

    19. Tabellenzeilen sollten eindeutig identifizierbar sein

    20. Primärschlüssel erzwingen Eindeutigkeit

    21. Von Checkboxen zu IDs

    22. Ein Array mit foreach durchlaufen

  5. Chapter 5 Mit Daten aus Dateien arbeiten: Wenn Datenbanken nicht ausreichen

    1. Virtueller Gitarren-Wettstreit

    2. Der Beweis im Bild

    3. Die Anwendung muss Bilder speichern

    4. Den Datei-Upload vorbereiten

    5. Die Highscore-Datenbank ändern

    6. Wie erhalten wir Bilder?

    7. Das Bild in die Datenbank einfügen

    8. Den Namen der hochgeladenen Datei ermitteln

    9. Wo ist die hochgeladene Datei gelandet?

    10. Den Bilddateien eine Heimat geben

    11. Gemeinsame Daten müssen geteilt werden

    12. Gemeinsame Skriptdaten einschließen

    13. Betrachten Sie require_once als »einfügen«

    14. Bei Highscores ist Timing Ordnung alles

    15. Den größten Guitar Wars-Heroen ehren

    16. Den Topscore mit HTML und CSS formatieren

    17. Nur kleine Bilder erlaubt

    18. Die Dateivalidierung macht die Anwendung robuster

    19. Eine Admin-Seite einbauen

    20. Skripten können kommunizieren

    21. GET und POST

    22. GET, POST und Highscores löschen

    23. Den zu löschenden Highscore isolieren

    24. Mit LIMIT steuern, wie viel gelöscht wird

    25. PHP & MySQL-Kreuzworträtsel, Lösung

    26. Ihr PHP & MySQL-Werkzeugkasten

  6. Chapter 6 Anwendungen absichern: Ein Quantum Paranoia

    1. Der Tag, an dem die Musik starb

    2. Wo sind die Highscores hin?

    3. Schutz für virtuelle Gitarrenartisten

    4. Die Guitar Wars-Admin-Seite schützen

    5. Die HTTP-Authentifizierung verlangt Header

    6. Mit PHP Header steuern

    7. Authentifizierung mit Headern

    8. PHP-Magneten

    9. PHP-Magneten, Lösung

    10. Ein Autorisierungsskript erstellen

    11. Guitar Wars Episode II: Angriff der Highscore-Klone

    12. Subtraktion durch Addition

    13. Sicherheit erfordert Menschen

    14. Der Plan für eine Guitar Wars-Moderation

    15. Platz für die Bestätigungen schaffen

    16. Unbestätigte Highscores rausschmeißen

    17. Der Millionen-Punkte-Hack

    18. Wird wirklich alles moderiert?

    19. Wie hat sie das bloß angestellt?

    20. MySQL mit Kommentaren austricksen

    21. SQL-Injection

    22. Ihre Daten gegen SQL-Injection wappnen

    23. Ein sichereres INSERT

    24. Eine Formularvalidierung kann nie gut genug sein

    25. Waffenstillstand!

    26. Ihr PHP & MySQL-Werkzeugkasten

  7. Chapter 7 Persnalisierte Webanwendungen: Erinnern Sie sich an mich?

    1. Gegensätze ziehen sich an, sagt man

    2. Hassliebe.net basiert auf persönlichen Daten

    3. Benutzer-Logins

    4. Die Benutzer-Logins vorbereiten

    5. Die Datenbank für Logins vorbereiten

    6. Eine Login-Schnittstelle aufbauen

    7. Passwörter verschlüsseln mit SHA()

    8. Passwörter dekodieren vergleichen

    9. Nutzer mit HTTP authentifizieren

    10. Benutzer mit HTTP-Authentifizierung einloggen

    11. Ein Anmeldeformular für neue Benutzer

    12. Den Benutzern eine Möglichkeit zur Anmeldung geben

    13. Manchmal braucht man Cookies

    14. Was in einem Cookie steckt

    15. Cookies mit PHP nutzen

    16. Den Login-Ablauf überdenken

    17. Ein cookiebasiertes Login

    18. Die Navigation in Hassliebe.net

    19. Cookies löschen

    20. Sitzungen laufen nicht nur über den Client

    21. Sitzungsleben

    22. Sitzungsdaten festhalten

    23. Hassliebe.net mit Sitzungen

    24. Logout mit Sitzungen

    25. Ganz zu Sitzungen übergehen

    26. Benutzeraufstand

    27. Sitzungen sind kurzlebig ...

    28. ...Cookies können unsterblich sein!

    29. Sitzungen + Cookies = dauerhafteres Gedächtnis

    30. Ihr PHP & MySQL-Werkzeugkasten

  8. Chapter 8 Doppelten Code eliminieren: Teilen ist weise

    1. Die Anwendung zerlegen

    2. Die Hassliebe.net-Vorlage

    3. Die Anwendung auf Vorlagen umstellen

    4. Hassliebe.net runderneuert und viel besser organisiert

  9. Chapter 9 Die Daten im Griff: Daten ernten

    1. Das perfekte Gegenstück finden

    2. Bei der Gegensatzsuche dreht sich alles um Daten

    3. Die Hassliebe-Daten zerlegen

    4. Die Datenbank über ein Schema modellieren

    5. Mehrere Tabellen verknüpfen

    6. Fremdschlüssel im Einsatz

    7. Tabellen können einander zeilenweise entsprechen

    8. Eine Zeile führt zu vielen

    9. Viele passende Zeilen

    10. Den Fragebogen aufbauen

    11. Die Reaktionen in die Datenbank bringen

    12. Formulare mit Daten steuern

    13. Effizienz ...

    14. Das Fragebogenformular generieren

    15. Jetzt steuern die Daten das Formular

    16. Das Streben nach Normalität

    17. Denken Sie beim Normalisieren an Atome

    18. Warum normal sein?

    19. Drei Schritte zu einer normalen Datenbank

    20. Die Hassliebe.net-Datenbank ändern

    21. Also ist die Datenbank jetzt normal?

    22. Abfragen in Abfragen

    23. Die Tabellen verknüpfen

    24. Mit Punkten verbinden

    25. Was man mit Inner-Joins noch machen kann

    26. USING statt ON

    27. Kosenamen für Tabellen und Spalten

    28. Joins im Einsatz

    29. Liebe ist ein Zahlenspiel

    30. Fünf Schritte zum gelungenen Gegenstück

    31. Die Gegenstücksuche vorbereiten

    32. Gegensätzlichkeit prüfen

    33. Wir brauchen eine for-Schleife

    34. Die Anwendung fertigstellen

    35. Ihr PHP & MySQL-Werkzeugkasten

  10. Chapter 10 String-Funktionen und eigene Funktinen: Funktionen machen das Leben leichter

    1. Ein guter riskanter Job ist schwer zu finden

    2. Die Suche lässt keinen Raum für Abweichungen

    3. LIKE macht Abfragen flexibel

    4. Einen String zerlegen

    5. implode() macht aus einem Array einen String

    6. Den Such-String vorbereiten

    7. Unerwünschte Zeichen ersetzen

    8. Die Abfrage braucht echte Suchbegriffe

    9. Die nicht leeren Elemente kopieren

    10. Wenn man nur Teile von Strings braucht

    11. Vom anderen Ende her abrufen

    12. Ergebnisse sortieren mit mehreren Abfragen

    13. Code wiederverwenden mit Funktionen

    14. Die Abfrage in einer Funktion aufbauen

    15. SWITCH trifft Entscheidungen

    16. abfrage_aufbauen() sortierfähig machen

    17. Die Ergebnisse auf mehrere Seiten verteilen

    18. Mit LIMIT die zurückgelieferten Zeilen beschränken

    19. Seitenlinks mit LIMIT steuern

    20. Die Daten für die Seiteneinteilung festhalten

    21. Die Seitenvariablen einrichten

    22. Die Abfrage für die Ergebnisseiten anpassen

    23. Die Navigationslinks generieren

    24. Das Suchskript zusammenbauen

    25. Das Suchskript, Fortsetzung ...

    26. Ihr PHP & MySQL-Werkzeugkasten

  11. Chapter 11 Reguläre Ausdrücke: Ersetzungsregeln

    1. Benutzer können jetzt Stellengesuche einstellen

    2. Entscheiden, wie Ihre Daten aussehen sollten

    3. Ein Muster für Telefonnummern formulieren

    4. Mustervergleiche mit regulären Ausdrücken

    5. Muster und Metazeichen

    6. Muster mit Zeichenklassen verfeinern

    7. Muster prüfen mit preg_match()

    8. Die Telefondaten vereinheitlichen

    9. Unerwünschte Zeichen eliminieren

    10. E-Mail-Adressen sind kompliziert

    11. Domain-Suffixe gibt es massenhaft

    12. Die Domain prüfen

    13. E-Mail-Validierung: Die Steine zusammensetzen

    14. Ihr PHP & MySQL-Werkzeugkasten

  12. Chapter 12 Daten visualisieren!: Dynamische Grafiken

    1. Guitar Wars Reloaded: Aufstand der Maschinen

    2. Kein Eingabeformular ist sicher

    3. Mensch und Maschine unterscheiden

    4. Automatisierte Übermittlung automatisiert vereiteln

    5. Den Text für das CAPTCHA generieren

    6. Das CAPTCHA-Bild zeichnen

    7. Die GD-Grafikfunktionen

    8. Die GD-Grafikfunktionen, Fortsetzung ...

    9. Text in einer bestimmten Schrift zeichnen

    10. Ein zufälliges CAPTCHA-Bild erzeugen

    11. Guitar Wars den Verstand zurückgeben

    12. Das CAPTCHA dem Highscore melden-Skript hinzufügen

    13. Fünf Stufen der Gegensätzlichkeit

    14. Gegensätzlichkeit zeichnen

    15. Daten für Säulendiagramme speichern

    16. Von einem Array zum anderen

    17. Ein Array gegensätzlicher Themen aufbauen

    18. Einen Plan für die Säulendiagramme entwerfen

    19. Kategorien zählen

    20. Die Berechnung durchführen

    21. Säulendiagrammgrundlagen

    22. Das Säulendiagramm zeichnen und anzeigen

    23. Separate Diagrammdateien für alle Benutzer

    24. Diagramme und glückliche Benutzer

    25. Ihr PHP & MySQL-Werkzeugkasten

  13. Chapter 13 RSS und Webservices: Tore zur Welt

    1. Egon geht an die Öffentlichkeit

    2. Die Entführungsberichte zu den Menschen bringen

    3. RSS stellt Webinhalte zu

    4. RSS ist eigentlich XML

    5. Von der Datenbank zum RSS-Reader

    6. RSS im Bilde

    7. Dynamisch einen RSS-Feed generieren

    8. Der Link auf den RSS-Feed

    9. Ein Bild Video ist mehr wert als Tausend Millionen Wörter

    10. Webinhalte anderer nutzen

    11. YouTube-Videos servieren

    12. Eine YouTube-Videoanfrage

    13. Egon ist bereit, eine REST-Anfrage aufzubauen

    14. YouTube spricht XML

    15. Dekonstruktion einer YouTube-XML-Antwort

    16. Die XML-Videodaten im Bild

    17. Auf XML-Daten über Objekte zugreifen

    18. Von XML-Elementen zu PHP-Objekten

    19. Über Objekte in XML-Daten eindringen

    20. Nicht ohne Namensraum!

    21. Die Fang-Sichtungen nehmen zu

    22. Die Videos einbinden

    23. Die Videodaten zur Anzeige formatieren

    24. Ihr PHP & MySQL-Werkzeugkasten

  1. Appendix Was übrig bleibt: Die Top Ten der Themen, die wir nicht behandelt haben

    1. 1. Dieses Buch mit PHP 4 und den mysql-Funktionen einsetzen

    2. 2. Benutzerberechtigungen in MySQL

    3. 3. Fehlermeldungen für MySQL

    4. 4. Exception-Handling bei PHP-Fehlern

    5. 5. PHP objektorientiert

    6. 6. Ihre PHP-Anwendung absichern

    7. 7. Ihre Anwendung vor Cross-Site-Scripting schützen

    8. 8. Operator-Vorrang

    9. 9. Der Unterschied zwischen PHP 5 und PHP 6

    10. 10. Den PHP-Code anderer wiederverwenden

  2. Appendix Die Entwicklungsumgebung einrichten: Der Spielplatz

    1. Eine PHP-Entwicklungsumgebung aufbauen

    2. Herausfinden, was Sie haben

    3. Habe ich einen Webserver?

    4. Habe ich PHP? Welche Version?

    5. Habe ich MySQL? Welche Version?

    6. Beginnen wir mit dem Webserver

    7. Die Apache-Installation abschließen

    8. PHP-Installation

    9. Die Schritte bei der PHP-Installation

    10. Die PHP-Installation abschließen

    11. MySQL installieren

    12. Schritte zur MySQL-Installation unter Windows

    13. Das Installationspaket herunterladen

    14. Einen Zielordner wählen

    15. Die Installation abschließen

    16. Auf Mac OS X PHP aktivieren

    17. MySQL-Installation auf Mac OS X

    18. Aus der Entwicklung in Produktion gehen

    19. Daten (und Tabellen) ausgeben

    20. Den Einsatz der gesicherten Daten vorbereiten

    21. Die kopierten Daten auf den Live-Server spielen

    22. Mit dem Live-Server verbinden

  3. Appendix PHP erweitern: Wenn Sie mehr brauchen

    1. PHP installieren

    2. Und auf dem Mac ...