PHP und MySQL für Kids
von: Johann-Christian Hanke
mitp Verlags GmbH & Co. KG, 2010
ISBN: 9783826695674
Sprache: Deutsch
464 Seiten, Download: 21376 KB
Format: PDF, auch als Online-Lesen
Inhaltsverzeichnis | 8 | ||
Vorwort | 16 | ||
Was bedeutet eigentlich Programmieren? | 16 | ||
Wozu sind Datenbanken da? | 17 | ||
Was kannst du mit PHP und MySQL alles machen? | 18 | ||
Was ist ein Webserver und wozu brauchst du den? | 19 | ||
Wie arbeitest du mit diesem Buch? | 19 | ||
Arbeitsschritte | 20 | ||
Stolperfallen und »Rettungsringe« | 20 | ||
Besonders wichtige Stellen im Buch | 20 | ||
Fragen und Aufgaben | 20 | ||
Was brauchst du für dieses Buch? | 20 | ||
Alles andere findest du auf der CD! | 21 | ||
Wie gut kommst du mit dem Computer klar? | 21 | ||
Was ist neu in Auflage 4 und 5? | 22 | ||
Wichtig: Das Thema Sicherheit | 22 | ||
Videoworkshops | 22 | ||
Was ist neu in Auflage 6? | 22 | ||
Das Betriebssystem spielt keine Rolle! | 24 | ||
Wo gibt’s Hilfe, wenn es mal klemmt? | 25 | ||
Deine coole Homepage mit HTML | 26 | ||
Richte dir einen Projektordner ein! | 26 | ||
Projektordner phpkid einrichten | 27 | ||
Einen weiteren Unterordner einrichten | 28 | ||
Bitte blende die Dateiendungen ein! | 29 | ||
HTML auf Knopfdruck – mit PSPad | 29 | ||
So wird PSPad installiert | 30 | ||
Eine HTML-Datei erstellen | 31 | ||
Die HTML-Vorlage von PSPad anpassen | 32 | ||
Das perfekte HTML-Grundgerüst | 33 | ||
Eine HTML-Datei erstellen | 34 | ||
Speichern nicht vergessen! | 35 | ||
So wird’s perfekt: Überschriften, Absätze und mehr | 36 | ||
Öffnen im internen Browser | 36 | ||
Öffnen im externen Browser | 36 | ||
Leben einhauchen: Überschriften und Absatz | 37 | ||
Tags zur Hervorhebung von Zeichen | 39 | ||
Die wichtigsten HTML-Tags im Überblick | 40 | ||
Hier bin ich: Ein Bild einfügen | 41 | ||
Grafik nur innerhalb eines Blocks einfügen | 42 | ||
Was bedeuten die Attribute von ? | 42 | ||
Meine Hobbys kurz aufgelistet | 44 | ||
Mit Aufzählungspunkten: Ungeordnete Liste | 44 | ||
Eins, zwei, drei: Ordnung schaffen durch Nummerierung | 45 | ||
Coole Links zu coolen Plätzen | 46 | ||
Einfache Hyperlinks erstellen | 46 | ||
Meine drei Lieblingsfächer in einer Tabelle | 48 | ||
Grundaufbau der Tabellen | 48 | ||
Das Beispiel | 49 | ||
Die Erklärung | 50 | ||
Schickes Layout mit Style Sheets | 50 | ||
Verweis auf CSS-Datei setzen | 51 | ||
CSS-Datei erstellen | 52 | ||
Einige Attribute und Werte von CSS | 53 | ||
Mehrere Fliegen mit einer Klappe | 54 | ||
Schön bunt hier: Farben zuweisen | 54 | ||
Die komplette CSS-Datei im Überblick | 56 | ||
So legst du die exakte Breite fest | 58 | ||
Packe den Inhalt in einen »Div-Container« | 59 | ||
Breite festlegen über Inline-CSS | 59 | ||
Eine Umfrage! Wie findest du meine Page? | 60 | ||
Ein Formular mit Radioknöpfen | 60 | ||
Submit! Doch wo bleibt die Action? | 62 | ||
Tipps und Tricks zu PSPad | 62 | ||
HTML-Quellcode automatisch ausrichten | 62 | ||
Automatischen Zeilenumbruch einfügen | 63 | ||
Mehr Überblick in der Codeansicht | 63 | ||
Lesezeichen für mehr Übersicht | 63 | ||
Datei vom Windows-Explorer aus öffnen | 63 | ||
Arbeit mit Verknüpfungen | 64 | ||
Werkzeuge und Suchfunktion | 64 | ||
Schlussbemerkung | 64 | ||
Zusammenfassung | 65 | ||
Ein paar Fragen … | 66 | ||
… und ein paar Aufgaben | 66 | ||
Installiere deinen eigenen Webserver! | 68 | ||
Warum eigentlich ein Webserver? | 68 | ||
Der Webserver ist ein Computer … | 69 | ||
… und der Webserver ist ein Programm! | 70 | ||
Warum unbedingt ein eigener Webserver? | 70 | ||
Und warum geht das so problemlos bei JavaScript? | 71 | ||
Wie teuer ist die Homepage mit PHP/MySQL? | 71 | ||
Kostenlos, aber nicht umsonst: MultiMania | 72 | ||
Bei MultiMania registrieren | 73 | ||
Login bei MultiMania | 73 | ||
Für »ältere Kids«: Eigene WWW-Domain | 74 | ||
How! Im Reich des »Apachen« | 76 | ||
Ganz einfach: Webserver selbst installiert! | 76 | ||
So installierst du XAMPP | 77 | ||
So startest du XAMPP | 80 | ||
So beendest du XAMPP | 81 | ||
Wo liegen die Dateien von XAMPP? | 82 | ||
Nur noch etwas Handarbeit … und fertig! | 82 | ||
Testen: phpinfo() auf localhost | 84 | ||
Zuerst eine HTML-Seite … | 84 | ||
Die »Magie« der index.html | 84 | ||
… und nun ein PHP-Test | 85 | ||
Noch ein Test: Funktioniert phpMyAdmin? | 87 | ||
Schlussbemerkung | 87 | ||
Zusammenfassung | 88 | ||
Ein paar Fragen … | 88 | ||
… und eine Aufgabe | 89 | ||
Hallo echo – »Hallo Welt« | 90 | ||
Daten ausgeben mit echo | 90 | ||
Wie sind PHP-Dokumente aufgebaut? | 91 | ||
Wie kennzeichne ich meinen PHP-Code? | 91 | ||
»Hallo Welt« – dein erstes Skript | 92 | ||
Quelltext für die hallo.php | 93 | ||
Teste dein Dokument mit dem Webserver | 93 | ||
PSPad: Raffinierte Farbhervorhebung | 94 | ||
Variablen: Mein rechter, rechter Platz ist leer | 95 | ||
Was sind Variablen? | 95 | ||
Der Platzhalter $vorname | 96 | ||
Wie funktioniert das Skript? | 97 | ||
Ausgabe verschönern mit HTMLTags | 97 | ||
Wie Pech und Schwefel: Strings verketten | 98 | ||
Strings und Variablen verketten? Meist unnötig! | 99 | ||
Strings verketten – manchmal geht’s nicht ohne! | 100 | ||
Kleine Zeilenumbruchkunde | 102 | ||
Mit einen HTML-Zeilenumbruch erzeugen |
102 | ||
Umbruch im Editor: Der Befehl \n wie new line | 103 | ||
Maskenball: Das Escape-Zeichen »\« | 104 | ||
Die wichtigsten Umbruch-Steuerbefehle | 104 | ||
Backslash als »Escape-Zeichen« | 105 | ||
Keinen Durchblick? Kommentare setzen! | 106 | ||
Einzeilige Kommentare | 106 | ||
Kommentare über mehrere Zeilen ziehen | 106 | ||
Fehlermeldung? Cool bleiben! | 107 | ||
Semikolon | 107 | ||
Variablen korrekt benannt? | 108 | ||
Gänsefüßchen richtig gesetzt? | 108 | ||
Falsche Klammersetzung? | 108 | ||
Schlussbemerkung | 109 | ||
Zusammenfassung | 109 | ||
Ein paar Fragen … | 110 | ||
… und ein paar Aufgaben | 110 | ||
Spaß mit Datum und Uhrzeit | 112 | ||
Immer up to date | 112 | ||
Das Datum ermitteln | 113 | ||
Die Schalter zur Ermittlung des Datums | 114 | ||
Weitere Praxisbeispiele | 114 | ||
Wer hat an der Uhr gedreht? | 115 | ||
Alle Uhrzeitschalter im Blick | 116 | ||
Die Zeit vergeht … ein kleines Beispiel | 116 | ||
Pause muss sein: Die if-else-Entscheidungsstruktur | 117 | ||
Die Entscheidungsstruktur if-else | 117 | ||
Geschweifte Klammern: Wichtiges Know-how | 118 | ||
Wir machen … Mittagspause | 119 | ||
So funktioniert das Beispiel | 120 | ||
Vergleichsoperatoren im Überblick | 121 | ||
Na logo! Logische Operatoren zum Verknüpfen | 122 | ||
Lange Mittagspause per Und-Verknüpfung | 122 | ||
Wo gibt’s denn so was? Zwei Pausen am Tag! | 123 | ||
Der Tag vergeht: Zwischentöne mit elseif | 124 | ||
Einbau eines elseif-Zweigs | 124 | ||
Tageszeitabhängige Begrüßung | 125 | ||
Feldvariablen: Wochentage aufschreiben | 125 | ||
Wochentage auf Deutsch ausgeben | 126 | ||
Feldvariablen werden Array genannt | 126 | ||
Die Tage als Array | 127 | ||
Welcher Tag ist heute? | 128 | ||
Arrays die Zweite: Es geht auch kürzer! | 129 | ||
Array-Elemente zählen | 129 | ||
Assoziativ: Monatsnamen als Array | 130 | ||
Einen einzelnen Index-Wert ausgeben | 131 | ||
… und wieder die Kurzform | 132 | ||
Den Monat ausgeben | 132 | ||
Schlussbemerkung | 134 | ||
Zusammenfassung | 134 | ||
Ein paar Fragen … | 135 | ||
… und ein paar Aufgaben | 136 | ||
Seiten mit Passwort schützen | 138 | ||
Formular für das Passwort | 138 | ||
Schreibe ein Formular | 139 | ||
Senden mit Methode: post oder get? | 140 | ||
Das Attribut action | 141 | ||
Das Attribut method | 141 | ||
Ausgabe des Passworts | 142 | ||
Formularwerte als assoziatives Array | 142 | ||
Ein Versuch: Das Passwort ausgeben | 143 | ||
Testen mit if-else | 144 | ||
Schönheitsfehler? Variablentest mit isset()! | 145 | ||
Prüfen, ob die Variable überhaupt vorhanden ist | 146 | ||
Das Skript noch etwas sicherer machen | 147 | ||
Mehr Möglichkeiten mit switch | 148 | ||
Die switch-Fallunterscheidung | 149 | ||
Wir »switchen« los: Das praktische Beispiel | 150 | ||
Inhalt mit include einbinden | 152 | ||
Mehr Sicherheit: Endungs- und Ordnertricks | 153 | ||
Schlussbemerkung | 155 | ||
Zusammenfassung | 156 | ||
Ein paar Fragen … | 156 | ||
… und ein paar Aufgaben | 157 | ||
Etwas Mathe: Taschen(geld)rechner | 158 | ||
Nicht ohne Grund: Grundrechenarten | 158 | ||
Plus, Minus, Mal, Geteilt | 159 | ||
Grundrechenarten im Überblick | 159 | ||
Rechenpraxis: Zwei mal Drei macht Vier … | 160 | ||
Einnahmen minus Ausgaben: Taschengeldrechner | 161 | ||
Formular erzeugen | 161 | ||
Kein Ergebnis anzeigen beim ersten Aufruf | 162 | ||
Besser testen: Die Funktion empty() | 163 | ||
Noch besser testen: Funktion is_numeric() | 164 | ||
$_SERVER['PHP_SELF']: Daten an sich selbst schicken | 165 | ||
Wie viel bleibt übrig? Prozentrechnung! | 166 | ||
Der Quelltext im Überblick | 166 | ||
Die Funktion round() zum Runden | 167 | ||
Zahlen formatieren mit sprintf() | 168 | ||
Traurige Säulen: Ergebnis als Diagramm | 170 | ||
Plus, Minus, Mal, Geteilt? Select! | 171 | ||
Der Quelltext im Überblick | 172 | ||
So liest du ein SELECT-Feld aus | 173 | ||
Das Auswahlfeld | 173 | ||
Werte in Formularfeldern speichern | 174 | ||
Rechner de luxe: Wir schreiben eine Funktion | 175 | ||
Was ist eine Funktion? | 175 | ||
Funktionen selber schreiben | 176 | ||
Grundsyntax einer Funktion | 177 | ||
Der Rechner im Einsatz | 178 | ||
Quellcode der Datei function_modul.inc.php | 180 | ||
Schlussbemerkung | 181 | ||
Zusammenfassung | 181 | ||
Ein paar Fragen … | 182 | ||
… und ein paar Aufgaben | 182 | ||
Schleifen: Die »Gratulationsmaschine« | 184 | ||
Die while-Schleife | 184 | ||
Der Quelltext für die Schleife | 185 | ||
Die Grundsyntax der while-Schleife | 186 | ||
Das Beispiel in der Diskussion | 187 | ||
Gib auch die Zählvariable aus! | 189 | ||
Prüfung zu Fuß: do while | 189 | ||
Der Bestseller: for | 191 | ||
Die Syntax von for am Beispiel erklärt | 191 | ||
Und die Geburtstagskerzen? | 193 | ||
Tabelle dynamisch erzeugen | 194 | ||
Have a break: Abbruchbedingung einfügen | 195 | ||
Und noch eine Schleife: foreach | 196 | ||
Schleife für Wertelisten | 197 | ||
Wochentage: Nur den value ausgeben | 197 | ||
Hauptstädte: key und value gemeinsamausgeben | 198 | ||
Schlussbemerkung | 199 | ||
Zusammenfassung | 200 | ||
Ein paar Fragen … | 200 | ||
… und ein paar Aufgaben | 201 | ||
Fürs Feedback: Formmailer selbst gestrickt | 202 | ||
Die Funktion mail() | 203 | ||
Lösung mit PHP | 203 | ||
Bei Aufruf der Seite: E-Mail! | 204 | ||
E-Mail mit Datums- und Zeitstempel | 205 | ||
Der Quelltext im Überblick | 205 | ||
Das Feedback-Formular | 206 | ||
TEXTAREA: Ideal für Kommentare | 206 | ||
Der PHP-Teil | 207 | ||
Professionell mailen: Fehler unterdrücken | 208 | ||
Zeichen @ zur Fehlerunterdrückung | 208 | ||
Rückgabewert der Funktion mail() testen | 209 | ||
Mehr Variablen für eine klarere Struktur! | 210 | ||
Formular um ein Name-Feld erweitern | 211 | ||
Kurzform für das Verketten | 211 | ||
Backslashes entfernen mit stripslashes() | 212 | ||
Prüfen! Sind alle Felder ausgefüllt? | 213 | ||
Der Quelltext im Überblick | 215 | ||
Fehlertext ausgeben | 217 | ||
Inhalt in die Formularfelder schreiben | 217 | ||
Das Feld Name sichern | 218 | ||
Funktion strtr() | 219 | ||
Funktion htmlspecialchars() | 220 | ||
Der Kommentarbereich | 221 | ||
Erweiterter Fehlertest: Mindestlänge und E-Mail-Check | 221 | ||
Mindestlänge erzwingen mit strlen() | 222 | ||
E-Mail-Check mit regulärem Ausdruck | 223 | ||
Testen auf Übereinstimmung mit preg_match() | 224 | ||
RegExp: Der Aufbau des Such-Musters | 225 | ||
Schutz gegen Flooding? | 226 | ||
Krönender Abschluss: Universal-Formmailer | 228 | ||
Der Quelltext im Überblick | 228 | ||
Besonderheiten im Skript | 230 | ||
Arbeitsteilung JavaScript und PHP | 232 | ||
Schlussbemerkung | 232 | ||
Zusammenfassung | 233 | ||
Ein paar Fragen … | 233 | ||
… und ein paar Aufgaben | 234 | ||
Surfer wiedererkennen mit Cookies | 236 | ||
Was sind Cookies? | 236 | ||
Sind Cookies ein Sicherheitsrisiko? | 237 | ||
Wo speichert der Browser die Cookies? | 238 | ||
Wann werden Cookies problematisch? | 239 | ||
Grundeinstellungen im Browser | 240 | ||
Einstellungen beim Internet Explorer | 241 | ||
Einstellungen für Firefox | 242 | ||
Krümelmonsters Keksfabrik: Cookies »backen« | 242 | ||
Die Funktion setcookie() | 242 | ||
Das Beispiel | 243 | ||
Der Keks bekommt ein MHD | 244 | ||
Ablaufdatum angeben | 245 | ||
Herumkrümeln: Cookies »verspeisen« | 245 | ||
Aufgegessen: Cookies löschen | 246 | ||
Schlussbemerkung | 246 | ||
Zusammenfassung | 247 | ||
Ein paar Fragen … | 247 | ||
… und ein paar Aufgaben | 247 | ||
Besucherzähler selbst gebaut | 248 | ||
Zwei Dateien: So funktioniert das Beispiel | 248 | ||
Textdatei anlegen | 249 | ||
So funktioniert das Beispiel | 249 | ||
Hitmaschine: Ein Textcounter | 249 | ||
Datei zum Lesen öffnen | 250 | ||
Die Funktion fopen() | 250 | ||
Der geheimnisvolle Dateizeiger | 251 | ||
Die Funktion fgets() | 252 | ||
Daten in eine Textdatei schreiben | 253 | ||
Dateizeiger zurücksetzen per rewind() | 253 | ||
Die Funktion fputs() | 254 | ||
Datei schließen mit fclose() | 254 | ||
Rechtevergabe mit chmod | 254 | ||
chmod 777 | 255 | ||
chmod 666 oder 644 | 255 | ||
Geht es gar ganz ohne? | 256 | ||
Counter de luxe mit Cookies | 257 | ||
So funktioniert das Skript | 258 | ||
Schlussbemerkung | 259 | ||
Zusammenfassung | 259 | ||
Ein paar Fragen … | 259 | ||
… und ein paar Aufgaben | 260 | ||
Eine Umfrage mit grafischer Auswertung | 262 | ||
So sieht das Beispiel aus | 262 | ||
Durch Komma separierte Textdatei | 264 | ||
Datei result.txt anlegen | 264 | ||
Quelltext der Datei ergebnis.php | 265 | ||
Die ersten Zeilen im Überblick | 266 | ||
Die Funktionen fread() und filesize() | 266 | ||
Text am Trennzeichen zerlegen | 267 | ||
Die Funktion explode() | 267 | ||
Gesamtzahl aller Wahlvorgänge | 268 | ||
Die unsichtbare Tabelle für das Diagramm | 268 | ||
… und wieder etwas Mathe: Dreisatz | 269 | ||
Verhältnisgleichung | 270 | ||
Die Umfrageseite: So funktioniert das Skript | 271 | ||
Der Quelltext der Datei umfrage.php | 271 | ||
Ein paar erste Erklärungen | 273 | ||
Schummeln verboten: Mehrfachvotes unterdrücken | 274 | ||
Der else-Zweig | 275 | ||
… und wieder entsteht ein Array | 275 | ||
Test mit regulärem Ausdruck | 276 | ||
So arbeitet der Eintrageteil des Skripts | 277 | ||
Schlussbemerkung | 278 | ||
Zusammenfassung | 278 | ||
Ein paar Fragen … | 278 | ||
… und ein paar Aufgaben | 279 | ||
Das eigene Gästebuch | 280 | ||
(Zu) simpel gestrickt: Version 1 | 280 | ||
Das Beispiel im Überblick | 281 | ||
Der Quelltext kurz erklärt | 283 | ||
Hacking-Versuche unterbinden | 284 | ||
Die Funktionen nl2br() und readfile() | 284 | ||
Zeilenumbruch erhalten: nl2br() | 284 | ||
Datei auslesen mit readfile() | 285 | ||
Schon besser: Gästebuch Version 2 | 285 | ||
Neueste Einträge zuoberst anzeigen | 286 | ||
So vermeidest du Doppeleinträge | 287 | ||
Die Funktion time() | 288 | ||
Vorgehensweise planen | 288 | ||
Die Funktion isDouble() | 289 | ||
Die Funktion im Überblick | 290 | ||
Bedingung erweitern | 291 | ||
Gästebuch sicherer machen | 291 | ||
Die Gefahr durch Spammer | 291 | ||
Lösungen für diese Probleme | 292 | ||
Schlussbemerkung | 292 | ||
Zusammenfassung | 293 | ||
Ein paar Fragen … | 293 | ||
… und ein paar Aufgaben | 293 | ||
Ein Adressbuch für dein Team | 296 | ||
Planung ist die halbe Miete | 296 | ||
Die Struktur der Datenbank planen | 297 | ||
Feldnamen und Datensätze | 297 | ||
Die Sache mit dem Schlüsselfeld | 298 | ||
Was benötigen wir? | 299 | ||
Geniales Tool: phpMyAdmin | 299 | ||
phpMyAdmin aufrufen | 299 | ||
Die Datenbank anlegen | 300 | ||
Etwas SQL zum Anlegen der Datenbanktabelle | 301 | ||
Syntax zum Anlegen der Tabelle | 301 | ||
Datenbankfelder definieren | 302 | ||
Schlüsselfeld anlegen (Primärschlüssel) | 302 | ||
VARCHAR, CHAR und TEXT | 303 | ||
Die Tabelle anlegen | 303 | ||
Die Datentypen im Überblick | 305 | ||
Die wichtigsten Datentypen | 306 | ||
Trage ein paar Adressen ein! | 308 | ||
Datensatz eintragen | 308 | ||
Geht auch: Daten per SQL-Befehl INSERT eingeben | 309 | ||
Wo legt MySQL die Daten ab? | 310 | ||
Tipps und Tricks zur Bedienung von phpMyAdmin | 311 | ||
Alle Teammitglieder da? Schaue nach! | 313 | ||
Alle Datensätze ausgeben mit SELECT | 314 | ||
Nur einzelne Felder ausgeben | 314 | ||
Nach bestimmten Auswahlkriterien filtern mit WHERE | 314 | ||
Auswahlkriterien miteinander verknüpfen | 315 | ||
Sortieren mit ORDER BY | 316 | ||
Wie wär’s mit einem UPDATE? | 317 | ||
Auch das geht: Datensätze löschen mit DELETE | 317 | ||
Daten als HTML-Tabelle ausgeben | 318 | ||
Einfache Ausgabe der Daten | 318 | ||
So funktioniert das Skript | 320 | ||
Zeilenzahl ausgeben mit mysqli_num_rows() | 324 | ||
Fehlermeldungen unterdrücken | 324 | ||
Ausgabe aller Datensätze in einer Tabelle | 326 | ||
Der Quellcode kurz erklärt | 327 | ||
Mit PHP: Eingabeformular selbst gestrickt | 328 | ||
Der Quelltext im Überblick | 329 | ||
Verbinde beide Seiten mit einem Hyperlink | 331 | ||
Was ist noch nicht perfekt? | 331 | ||
Probleme mit Gänsefüßchen | 332 | ||
Werte werden nicht überprüft | 332 | ||
Schlussbemerkung | 333 | ||
Zusammenfassung | 333 | ||
Ein paar Fragen … | 334 | ||
… und ein paar Aufgaben | 335 | ||
Gästebuch de luxe als Datenbanktabelle | 336 | ||
Datenbanktabelle planen | 337 | ||
Feldnamen und Felddatentypen festlegen | 337 | ||
SQL-Befehle zum Einrichten der Tabelle | 338 | ||
Erstelle einige Testeinträge! | 338 | ||
Daten erst einmal ausgeben | 339 | ||
Der Ausgabe-Quellcode | 340 | ||
Besonderheiten des Skriptes | 341 | ||
Homepage-Feld soll freiwillig sein? | 342 | ||
Wichtig: Datenbank-Zugangsdaten auslagern! | 343 | ||
Das Eingabeformular entsteht | 344 | ||
Quelltext für das Formular | 344 | ||
Ein Mini-CAPTCHA | 344 | ||
Formulardaten erst einmal überprüfen | 345 | ||
Eintragen der Daten per SQL | 348 | ||
Erfolgsanzeige mit mysqli_affected_rows() | 349 | ||
Mit Sicherheit: Reloadsperre und Magic Quotes | 349 | ||
Unique Index: Doppeleinträge verhindern | 349 | ||
Schutz vor Angriffen auf die Datenbank | 352 | ||
Automatische Sicherheit dank »magic quotes«? | 352 | ||
Heute: »magic quotes« sind nicht mehr sicher genug | 353 | ||
mysqli_real_escape_string() | 353 | ||
get_magic_quotes_gpc() | 354 | ||
Nicht alle Datensätze auf einmal | 355 | ||
Den Zähler zusammenbauen | 355 | ||
Den Startwert verändern | 356 | ||
Push it to the LIMITs | 356 | ||
Wo bleibt die Nummerierung? | 357 | ||
Links für die seitenweise Ausgabe | 358 | ||
For-Schleife, die erste! | 359 | ||
Die zweite Version der for-Schleife | 360 | ||
Adminbereich für den Gästebucheigner? | 361 | ||
Schlussbemerkung | 362 | ||
Zusammenfassung | 362 | ||
Ein paar Fragen … | 363 | ||
… und ein paar Aufgaben | 363 | ||
Weblog für Kids: »Das Mini-CMS« | 366 | ||
Pflichtenheft: Zuerst planst du das Projekt | 366 | ||
Anforderungen an das System | 367 | ||
Und wieder grüßt die Datenbanktabelle | 368 | ||
Schickes Design: Die Ausgabe aller Daten | 369 | ||
Der Quellcode im Überblick | 370 | ||
Das Auge isst mit: Gestalten mit Style Sheets | 372 | ||
Datenbankabfrage: Der MySQL-Teil im Überblick | 373 | ||
Zugriffsdaten und Administrationsdatei | 374 | ||
Home-Link | 375 | ||
Die Parameter $start und $step | 375 | ||
SQL-Abfragen | 375 | ||
News von Gestern? Ältere Einträge anzeigen! | 376 | ||
Passwortschutz mit Cookie | 378 | ||
Der Quellcode für das Formular | 378 | ||
Ein Cookie als Merkwimpel | 379 | ||
So bindest du die Beiträge ein | 380 | ||
Quellcode der admin.inc.php | 380 | ||
Die erste if-Abfrage | 381 | ||
HTML in PHP mit heredoc | 381 | ||
Zugriff auf Variablen innerhalb von heredoc | 382 | ||
Die Syntax zum Eintragen | 383 | ||
Mehr gefällig? Hier klicken! | 384 | ||
Der Quellcode im Überblick | 385 | ||
Die Funktionen strlen() und substring() | 386 | ||
Die letzte SQL-Abfrage erstellen | 388 | ||
Schlussbemerkung | 390 | ||
Zusammenfassung | 390 | ||
Ein paar Fragen … | 391 | ||
… und ein paar Aufgaben | 391 | ||
Aktivitäten verwalten: Wer kommt mit ins Kino? | 392 | ||
Das Adressbuch bekommt Gesellschaft | 393 | ||
Adresstabelle und Kundennummer | 393 | ||
Datenbanktabelle mit den Veranstaltungen | 394 | ||
Die Struktur der Datenbanktabelle produkte | 394 | ||
Ein paar Vorschläge für die Datenbanktabelle | 395 | ||
Ist das noch normal? Daten aufteilen! | 396 | ||
Daten in Teiltabelle zerlegen | 396 | ||
Auch die Bestellungen müssen in eine separate Tabelle! | 397 | ||
Die Tabelle bestellungen vorbereiten | 398 | ||
Beziehungskiste – So hängen die Daten voneinander ab | 399 | ||
Nicht vergessen: Das Eingabeformular | 400 | ||
Projektordner und Datei index.php | 400 | ||
Der PHP-Teil im Überblick | 401 | ||
Bitte bestätige: Name und Nutzer-ID | 404 | ||
Die Datei order.php | 404 | ||
Der Quelltext im Überblick | 405 | ||
Zur Sicherheit: Werte überprüfen | 406 | ||
Der Heredoc-Bereich | 407 | ||
Wer kommt mit? Aus zwei mach drei! | 407 | ||
Die Datei input.php | 408 | ||
Der Quelltext im Überblick | 409 | ||
Abfrage mit Erfolgsanzeige | 411 | ||
SQL für Profis: Von Joins und Funktionen | 412 | ||
Abfrage zur Ermittlung der Bestelldaten | 412 | ||
Tabellen durch einen Join verbinden | 414 | ||
Ausgabe als PHP-Dokument | 416 | ||
Schlussbemerkung | 417 | ||
Zusammenfassung | 417 | ||
Ein paar Fragen … | 418 | ||
… und ein paar Aufgaben | 418 | ||
Automatisch Geburtstagsgrüße versenden | 420 | ||
MySQL und dein Dienstleister | 420 | ||
ALTER TABLE: Neue Spalte mit ADD COLUMN | 421 | ||
Vorüberlegung: Pseudo-Cronjob einrichten | 422 | ||
So klappt’s: Das Geburtstags-Skript | 423 | ||
Textdatei tag.txt | 423 | ||
Include-Datei zugriff.inc.php | 424 | ||
Der Quelltext | 424 | ||
Das Skript kurz erläutert | 425 | ||
Schlussbemerkung | 427 | ||
Und zum Schluss noch ein Sicherheitstrick! | 427 | ||
Zusammenfassung | 428 | ||
Ein paar Fragen … | 428 | ||
… und ein paar Aufgaben | 429 | ||
Anhang A | 430 | ||
Für Eltern und Lehrer | 430 | ||
Anhang B | 432 | ||
Hochladen der Seiten mit FTP | 432 | ||
Das Grundprinzip zum Veröffentlichen | 432 | ||
FileZilla konfigurieren | 433 | ||
Hochladen live: FTP-Verbindung herstellen | 434 | ||
Die richtigen Dateien markieren | 435 | ||
Von links nach rechts: Dateien hochladen | 435 | ||
Tipps und Tricks zu FileZilla | 436 | ||
Sortieren nach Alphabet, Größe oder Datum | 437 | ||
Ordner erstellen | 437 | ||
Daten löschen | 437 | ||
Anhang C | 438 | ||
Empfehlenswerte PHP-Editoren | 438 | ||
Aptana Studio | 438 | ||
Notepad++ | 438 | ||
Weaverslave | 438 | ||
PHPEdit | 438 | ||
PHP und MySQL lernen | 438 | ||
Umfangreiche Referenz auf SELFPHP | 439 | ||
Die offizielle PHP-Seite | 439 | ||
Das offizielle PHP-Handbuch | 439 | ||
Das offizielle MySQL-Handbuch | 439 | ||
Stichwortverzeichnis | 440 |
Kategorien
Kategorien
Service
Info/Kontakt