1427.book Seite 3 Dienstag, 5. Mai 2009 10:08 10 Auf einen Blick 1 Einführung ................................................................ 15 2 PHP-Programmierkurs ............................................... 19 3 Daten senden und auswerten .................................... 105 4 Datenbanken ............................................................ 161 5 Objektorientierung in PHP ........................................ 245 6 Weitere Themen ....................................................... 285 7 Besondere Themen ................................................... 427 8 Beispielprojekte ........................................................ 541 A HTML für PHP ........................................................... 575 B Installationen ............................................................ 583 C Liste der reservierten Wörter in PHP ......................... 597 1427.book Seite 5 Dienstag, 5. Mai 2009 10:08 10 Inhalt 1 Einführung .................................................................. 1.1 1.2 1.3 15 Zu diesem Buch ............................................................ PHP – eine Beschreibung .............................................. PHP – Vorzüge .............................................................. 1.3.1 Erlernbarkeit .................................................... 1.3.2 Einsatzbereich .................................................. 1.3.3 Preis ................................................................. 1.3.4 Ausführungsort ................................................ Aufbau dieses Buchs ..................................................... Systemvoraussetzungen ................................................ 15 16 16 17 17 17 17 18 18 2 PHP-Programmierkurs ............................................... 19 1.4 1.5 2.1 2.2 2.3 2.4 2.5 2.6 Einbettung von PHP in HTML ....................................... Kommentare ................................................................. Variablen, Datentypen und Operatoren ........................ 2.3.1 Namen ............................................................. 2.3.2 Variablen für Zahlen ......................................... 2.3.3 Rechenoperatoren für Zahlen ........................... 2.3.4 Variablen und Operatoren für Zeichenketten .............................................................. Einfache Formularauswertungen ................................... 2.4.1 Eingabeformular ............................................... 2.4.2 Auswertung mit $_POST .................................. 2.4.3 Umwandlung von Zeichenketten in Zahlen ....... Verzweigungen ............................................................. 2.5.1 if-Anweisung .................................................... 2.5.2 if-else-Anweisung ............................................ 2.5.3 Logische Operatoren ........................................ 2.5.4 Rangordnung der Operatoren .......................... 2.5.5 Mehrfache Verzweigung ................................... 2.5.6 switch-case-Anweisung .................................... 2.5.7 HTML in Verzweigungsblöcken ........................ Schleifen ....................................................................... 2.6.1 for-Schleife ...................................................... 2.6.2 Beispiele für for-Schleifen ................................. 2.6.3 Geschachtelte for-Schleifen .............................. 2.6.4 Schleifen und Tabellen ..................................... 19 21 22 23 23 25 27 29 30 32 34 37 38 39 43 46 46 48 50 51 52 53 54 55 5 1427.book Seite 6 Dienstag, 5. Mai 2009 10:08 10 Inhalt 2.6.5 while-Schleife .................................................. 2.6.6 Schleifenabbruch mit break ............................. 2.6.7 Weitere Schleifenanweisungen ........................ Felder .......................................................................... 2.7.1 Numerisch indizierte Felder ............................. 2.7.2 Assoziative Felder ............................................ Funktionen ................................................................... 2.8.1 Ein erstes Beispiel ............................................ 2.8.2 Definition, Aufruf und Funktionstypen ............. 2.8.3 Externe Dateien ............................................... 2.8.4 Funktionen mit einem Parameter ..................... 2.8.5 Funktionen mit mehreren Parametern ............. 2.8.6 Rückgabewert einer Funktion .......................... 2.8.7 Kopie und Referenz ......................................... 2.8.8 Gültigkeitsbereich von Variablen ..................... 2.8.9 Variable Parameterlisten .................................. 2.8.10 include-Anweisung .......................................... Beispiele ...................................................................... 2.9.1 Formatierung von Zahlen ................................. 2.9.2 Geldanlage ...................................................... 2.9.3 Steuertabelle ................................................... 2.9.4 Bestimmung des Ostersonntags ....................... 58 60 62 63 63 66 69 70 72 72 73 75 78 80 84 86 88 91 91 92 95 98 3 Daten senden und auswerten .................................... 105 2.7 2.8 2.9 3.1 3.2 3.3 3.4 6 Textelemente ............................................................... 3.1.1 Einzeilige Texteingabefelder ............................. 3.1.2 Mehrzeilige Texteingabefelder ......................... 3.1.3 Passworteingabefeld, verstecktes Element ....... Auswahlelemente ......................................................... 3.2.1 Radiobutton-Gruppe ....................................... 3.2.2 Einfaches Auswahlmenü .................................. 3.2.3 Kontrollkästchen ............................................. 3.2.4 Mehrfaches Auswahlmenü ............................... Aktionselemente .......................................................... 3.3.1 Absenden und Zurücksetzen ............................ 3.3.2 Allgemeine Buttons ......................................... Weitere Möglichkeiten ................................................. 3.4.1 Auswertung in anderem Frame ........................ 3.4.2 Felder von Formularelementen ........................ 3.4.3 Formular und Programm in einer Datei ............ 3.4.4 Submit über Hyperlink, CSS ............................. 105 105 108 110 113 113 116 117 120 122 122 125 130 130 132 135 138 1427.book Seite 7 Dienstag, 5. Mai 2009 10:08 10 Inhalt 3.4.5 Daten an Formularziel anhängen ...................... 3.4.6 Daten an Hyperlinkziel anhängen ..................... 3.4.7 Dateien auf den Server hochladen .................... Beispiele ....................................................................... 3.5.1 Grundrechenarten ............................................ 3.5.2 Pizzabestellung ................................................ PHP-Programme publizieren ......................................... 3.6.1 Verbindung herstellen ...................................... 3.6.2 Dateien und Verzeichnisse hochladen .............. 3.6.3 Arbeiten mit Verzeichnissen ............................. 3.6.4 Verschieben von Dateien ................................. 140 143 146 149 149 152 156 156 158 159 159 4 Datenbanken .............................................................. 161 3.5 3.6 4.1 4.2 MySQL und phpMyAdmin ............................................ 4.1.1 phpMyAdmin ................................................... 4.1.2 Beispieldatenbank und -tabelle ........................ 4.1.3 Datenbank erzeugen ........................................ 4.1.4 Datenbank umbenennen .................................. 4.1.5 Datenbank löschen .......................................... 4.1.6 Tabelle erzeugen .............................................. 4.1.7 Tabellenstruktur verändern .............................. 4.1.8 Index erzeugen ................................................ 4.1.9 Index löschen ................................................... 4.1.10 Tabellennamen ändern ..................................... 4.1.11 Tabelle optimieren ........................................... 4.1.12 Tabelle löschen ................................................ 4.1.13 Datensätze eintragen ....................................... 4.1.14 Datensatzauswahl ............................................ 4.1.15 Vergleichsoperatoren, logische Operatoren ...... 4.1.16 Vergleichsoperator »like« ................................. 4.1.17 Sortierung ........................................................ 4.1.18 Datensätze ändern ........................................... 4.1.19 Datensätze löschen .......................................... 4.1.20 Verwendete SQL-Anweisungen ........................ PHP und MySQL ........................................................... 4.2.1 Verbindung aufnehmen, Datensätze anzeigen .......................................................... 4.2.2 Datensätze auswählen ...................................... 4.2.3 Ausgabe in eine HTML-Tabelle ......................... 4.2.4 Auswahl von Daten über ein Suchformular ....... 4.2.5 Datensätze erzeugen ........................................ 162 163 164 164 165 166 167 168 172 173 174 174 175 175 177 182 183 186 187 190 191 192 192 195 199 200 209 7 1427.book Seite 8 Dienstag, 5. Mai 2009 10:08 10 Inhalt 4.2.6 Ändern mehrerer Datensätze ........................... 4.2.7 Ändern eines bestimmten Datensatzes ............ 4.2.8 Datensätze löschen .......................................... 4.2.9 Benutzeroberfläche mit JavaScript und CSS ...... 4.2.10 Ein Datenbankbrowser .................................... MySQL-Datenbanken publizieren ................................. 4.3.1 Verbindung aufnehmen ................................... 4.3.2 Export einer Tabelle ......................................... 4.3.3 phpMyAdmin im Internet ................................ 4.3.4 Tabelle und Daten per Programm erzeugen ..... 213 215 220 222 229 237 238 240 241 242 5 Objektorientierung in PHP ........................................ 245 4.3 5.1 5.2 Was ist objektorientierte Programmierung? .................. Klassen und Objekte .................................................... 5.2.1 private, protected und public .......................... 5.2.2 Anwendung der Klasse .................................... Konstruktor .................................................................. Destruktor .................................................................... Optionale Parameter .................................................... Handles und Kopien ..................................................... 5.6.1 Vordefiniertes Klonen ...................................... 5.6.2 Benutzerdefiniertes Klonen .............................. 5.6.3 Übergabe eines Objekts an eine Funktion ........ Vererbung .................................................................... 5.7.1 Konstruktoren bei Vererbung .......................... Dereferenzierung von Objekten .................................... Konstanten, statische Eigenschaften und Methoden ..... Abstrakte Klassen und Methoden ................................. Magische Konstanten __METHOD__, __FILE__, __LINE__ ............................... Operator »instanceof« .................................................. Hilfsfunktionen ............................................................. Ausgabemethode __toString ......................................... autoload-Funktion ....................................................... Beispiel ........................................................................ 273 275 275 277 278 280 6 Weitere Themen ........................................................ 285 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10 5.11 5.12 5.13 5.14 5.15 5.16 6.1 8 Zeichenketten .............................................................. 6.1.1 Länge, Umwandlungsfunktionen ...................... 245 246 247 248 250 253 254 257 258 260 261 262 266 267 268 271 285 285 1427.book Seite 9 Dienstag, 5. Mai 2009 10:08 10 Inhalt 6.2 6.3 6.4 6.5 6.1.2 Zeichenketten und Felder ................................. 6.1.3 Teilzeichenketten ............................................. 6.1.4 Suchen nach Position ....................................... 6.1.5 Vergleich von Zeichenketten ............................ 6.1.6 Codierung von Zeichen .................................... 6.1.7 Einfache Verschlüsselung .................................. 6.1.8 Weitere Verschlüsselungsmethoden ................. Dateien und Verzeichnisse ............................................ 6.2.1 Dateitypen ....................................................... 6.2.2 Lesen einer Zeile aus einer sequenziellen Datei ................................................................ 6.2.3 Lesen aller Zeilen einer sequenziellen Datei ...... 6.2.4 Vereinfachtes Lesen einer Datei ....................... 6.2.5 Überschreiben einer sequenziellen Datei .......... 6.2.6 Anhängen an eine sequenzielle Datei ............... 6.2.7 Ein einfacher Zugriffszähler ............................... 6.2.8 Wahlfreier Zugriff ............................................. 6.2.9 Informationen über Dateien ............................. 6.2.10 Informationen über ein einzelnes Verzeichnis ...................................................... 6.2.11 Informationen über den Verzeichnisbaum ........ Felder ........................................................................... 6.3.1 Operationen für numerisch indizierte Felder ............................................................ 6.3.2 Sortierung eines assoziativen Feldes ................. 6.3.3 Zweidimensionale Felder, allgemein ................. 6.3.4 Zweidimensionale numerische Felder ............... 6.3.5 Zweidimensionale gemischte Felder ................. 6.3.6 Zweidimensionale assoziative Felder ................ Datum und Zeit ............................................................ 6.4.1 Zeit ermitteln und ausgeben ............................. 6.4.2 Zeit formatiert ausgeben .................................. 6.4.3 Zeitangabe auf Gültigkeit hin prüfen ................ 6.4.4 Absolute Zeitangabe erzeugen ......................... 6.4.5 Relative Zeitangabe erzeugen ........................... 6.4.6 Mit Zeitangaben rechnen ................................. 6.4.7 Zeitangaben in Datenbanken ............................ 6.4.8 Beispiel Feiertagsberechnung ........................... Mathematische Funktionen .......................................... 6.5.1 Taschenrechnerfunktionen ............................... 6.5.2 Mathematische Konstanten .............................. 288 290 292 294 295 297 299 300 300 301 304 306 307 308 312 314 317 319 322 324 324 331 332 333 336 339 342 342 343 346 347 349 350 353 355 359 359 360 9 1427.book Seite 10 Dienstag, 5. Mai 2009 10:08 10 Inhalt 6.5.3 Ganzzahlermittlung, Extremwerte .................... 6.5.4 Trigonometrische Funktionen .......................... 6.5.5 Prüffunktionen für Zahlen ................................ 6.5.6 Zufallszahlen .................................................... 6.5.7 Mischen .......................................................... 6.5.8 Stellenwertsysteme .......................................... Sessions und Cookies ................................................... 6.6.1 Sessionmanagement ........................................ 6.6.2 Beispiel für Sessions: Zugriffszähler .................. 6.6.3 Beispiel für Sessions: Geschützte Website ........ 6.6.4 Beispiel für Sessions: Webshop ........................ 6.6.5 Cookies ........................................................... 6.6.6 Beispiel für Cookies: Besuch ............................ 6.6.7 Beispiel für Cookies: Adressspeicherung ........... SQLite und SQLite3 ...................................................... 6.7.1 SQLite ............................................................. 6.7.2 Eingaben von der Kommandozeile ................... 6.7.3 Datenbankdatei, Tabelle und Datensätze erzeugen ......................................................... 6.7.4 Abfrage der Datensätze ................................... 6.7.5 Schnelle Abfrage der Datensätze ...................... 6.7.6 Benutzeroberfläche mit JavaScript und CSS ...... 6.7.7 Der Umstieg zu SQLite3 .................................. XML ............................................................................. 6.8.1 Einlesen eines einzelnen Objekts ..................... 6.8.2 Einlesen mehrerer Objekte .............................. 6.8.3 Zugriff auf Attribute ......................................... 6.8.4 Interne XML-Daten ......................................... 6.8.5 Speicherung von Objekten ............................... 404 406 408 409 414 416 416 419 422 423 425 7 Besondere Themen ..................................................... 427 6.6 6.7 6.8 7.1 10 Reguläre Ausdrücke ..................................................... 7.1.1 Einfache Suche ................................................ 7.1.2 Tabellenausgabe .............................................. 7.1.3 Suche nach Position ......................................... 7.1.4 Suche nach Häufigkeit ..................................... 7.1.5 Suche nach Häufigkeit für mehrere Zeichen ..... 7.1.6 Oder-Verknüpfung .......................................... 7.1.7 Beliebige Zeichen, Buchstaben oder Ziffern ...... 7.1.8 Suche nach Sonderzeichen ............................... 361 363 365 367 369 372 375 376 376 378 384 395 397 399 402 403 404 427 427 429 431 433 436 437 438 440 1427.book Seite 11 Dienstag, 5. Mai 2009 10:08 10 Inhalt 7.2 7.3 7.4 7.1.9 Logische Negation ............................................ 7.1.10 Beispiel: Geldbetrag ......................................... 7.1.11 Beispiel: Datum ................................................ 7.1.12 Ersetzen von Text ............................................. 7.1.13 Ersetzen von Suchmustern ................................ Grafiken ........................................................................ 7.2.1 Installation testen ............................................ 7.2.2 Grafik speichern ............................................... 7.2.3 Grafik unmittelbar anzeigen ............................. 7.2.4 Text mit internen Fonts .................................... 7.2.5 Text mit TrueType-Fonts .................................. 7.2.6 Bild aus einer Datei laden ................................ 7.2.7 Bilder aus Dateien ineinander einbetten ........... 7.2.8 Ellipsen und Bögen .......................................... 7.2.9 Rechtecke und Polygone .................................. 7.2.10 Linien und Pixel ............................................... 7.2.11 Füllen mit Farbe ............................................... 7.2.12 Darstellung eines Aktienkurses ......................... PDF-Dateien ................................................................. 7.3.1 Installation ....................................................... 7.3.2 PDF-Dokument erzeugen ................................. 7.3.3 Text in Zelle ..................................................... 7.3.4 Fließtext, Schriftparameter ............................... 7.3.5 Tabelle ............................................................. 7.3.6 Kopf- und Fußzeile ........................................... 7.3.7 Bild aus Datei laden ......................................... 7.3.8 Hyperlinks ........................................................ 7.3.9 Linie, Rechteck, Position .................................. Flash ............................................................................. 7.4.1 Installation testen ............................................ 7.4.2 Flash-Anwendung speichern und anzeigen ....... 7.4.3 Eine Flash-Anwendung unmittelbar anzeigen .......................................................... 7.4.4 Text ................................................................. 7.4.5 Linie, Rechteck ................................................. 7.4.6 Geradlinige Bewegung ..................................... 7.4.7 Kreisförmige Bewegung .................................... 7.4.8 Skalierung ........................................................ 7.4.9 Verzerrung ....................................................... 7.4.10 Bild aus Datei laden ......................................... 7.4.11 Bilder ein-, aus- und überblenden .................... 441 441 443 444 445 446 447 448 449 451 452 454 455 457 459 460 462 463 466 467 467 469 471 473 475 478 479 483 485 486 487 490 491 493 496 498 501 503 506 507 11 1427.book Seite 12 Dienstag, 5. Mai 2009 10:08 10 Inhalt Aktion auslösen ............................................... .......................................................................... Anzeige von Fehlern ........................................ Permanente Konfiguration der Anzeige von Fehlern ............................................................ 7.5.3 Temporäre Konfiguration der Anzeige von Fehlern ............................................................ 7.5.4 Errorhandler .................................................... 7.5.5 Exceptionhandling ........................................... Sicherheit ..................................................................... 7.6.1 Programmpakete ............................................. 7.6.2 Sichtbare Daten ............................................... 7.6.3 Sessions ........................................................... 7.6.4 Variablen ......................................................... 7.6.5 Eingaben prüfen .............................................. 7.6.6 Passwörter ....................................................... E-Mail .......................................................................... 7.7.1 Lokale Testumgebung ...................................... 7.7.2 Erste Mail mit mail() ........................................ 7.7.3 HTML-Mail mit mail() ...................................... 7.7.4 Erste Mail mit HTML Mime Mail ..................... 7.7.5 HTML-Mail mit HTML Mime Mail ................... 7.7.6 HTML-Mail mit Bild ......................................... 7.7.7 E-Mail mit Anlage ............................................ 7.7.8 E-Mail mit unmittelbar erzeugter Anlage ......... 517 518 520 525 525 525 526 526 527 527 528 528 529 531 533 534 535 537 538 8 Beispielprojekte ......................................................... 541 7.5 7.6 7.7 8.1 12 7.4.12 Fehler 7.5.1 7.5.2 Projekt »Chat« .............................................................. 8.1.1 Frame-Aufbau ................................................. 8.1.2 CSS-Formatierung ............................................ 8.1.3 Ausgabe, Version »Textdatei« .......................... 8.1.4 Darstellung der Textdatei ................................. 8.1.5 Ausgabe, Version »Datenbank« ........................ 8.1.6 Darstellung der Datenbanktabellen .................. 8.1.7 Eingabe, Head ................................................. 8.1.8 Eingabe, PHP zum Speichern, Version »Textdatei« ...................................................... 8.1.9 Eingabe, PHP zum Speichern, Version »Datenbank« ................................................... 8.1.10 Eingabe, Formular ........................................... 8.1.11 Mögliche Erweiterungen .................................. 510 512 512 514 541 541 543 543 544 545 546 547 548 549 550 551 1427.book Seite 13 Dienstag, 5. Mai 2009 10:08 10 Inhalt 8.2 Projekt »Forum« ........................................................... 8.2.1 Darstellung, Anmeldung ................................... 8.2.2 Darstellung, Hauptbildschirm ........................... 8.2.3 Darstellung, neuer Beitrag ................................ 8.2.4 Datenbank, Tabelle der Teilnehmer .................. 8.2.5 Datenbank, Tabelle der Beiträge ...................... 8.2.6 Passwortvergabe .............................................. 8.2.7 Forum, CSS ...................................................... 8.2.8 Forum, JavaScript-Funktion .............................. 8.2.9 Forum, Anmeldung .......................................... 8.2.10 Forum, Zugangsprüfung und Überschrift .......... 8.2.11 Forum, neuen Beitrag speichern ....................... 8.2.12 Forum, Filterung auswählen ............................. 8.2.13 Forum, Sortierung durchführen ........................ 8.2.14 Forum, Filterung durchführen ........................... 8.2.15 Forum, Sortierung auswählen ........................... 8.2.16 Forum, Beiträge darstellen ............................... 8.2.17 Forum, neuen Beitrag eingeben ........................ 552 553 553 555 556 557 558 560 561 563 564 565 566 568 569 570 571 572 Anhang ............................................................................. 573 A HTML für PHP ......................................................................... A.1 Die erste Seite .............................................................. A.2 Formulare ..................................................................... A.3 Tabellen ........................................................................ A.4 Hyperlinks .................................................................... B Installationen .......................................................................... B.1 Installation des Pakets XAMPP ..................................... B.2 Installation der einzelnen Software-Komponenten ........ B.2.1 Installation Apache Webserver ......................... B.2.2 Installation PHP ............................................... B.2.3 Installation MySQL ........................................... B.2.4 Installation phpMyAdmin ................................. B.3 Installation des FTP-Programm WS_FTP LE ................... C Liste der reservierten Wörter in PHP ....................................... 575 575 577 579 580 583 583 585 585 587 590 594 595 597 Index ............................................................................................ 601 13 1427.book Seite 19 Dienstag, 5. Mai 2009 10:08 10 2 PHP-Programmierkurs In diesem Kapitel lernen Sie, erfolgreich Programme in PHP zu schreiben. Sie lernen insbesondere Variablen und Felder, Operatoren, Kontrollstrukturen und Funktionen kennen. Die Auswertung von Formularen und einige umfangreichere Beispiele runden das Kapitel ab. Hinweise In diesem Buch sollen nicht nur die Kenntnisse der Sprache PHP vermittelt werden, sondern auch ein übersichtlicher und strukturierter Programmierstil. Dies vereinfacht sowohl die Arbeit eines einzelnen Entwicklers als auch die Zusammenarbeit eines Entwicklerteams und die spätere Wartung der Programme. Programmierstil Für viele denkbare Anwendungsfälle wird jeweils nur eine Lösung angeboten und der typische Einsatzzweck erläutert, ohne dabei durch eine allzugroße Anzahl von Möglichkeiten zu verwirren. Typischer Einsatzzweck 2.1 Einbettung von PHP in HTML In den meisten PHP-Programmen wird die folgende Methode verwendet, um PHP-Programme in HTML-Dateien einzubetten: <?php [PHP-Anweisung] [PHP-Anweisung] [PHP-Anweisung] ?> <?php ... ?> Die Markierung <?php leitet eine einzelne PHP-Anweisung oder einen Block von PHP-Anweisungen ein. Diese werden bis zur Markierung ?> bearbeitet, die das Ende des Blocks darstellt. PHP-Blöcke können im gesamten Dokument untergebracht werden. Der Code wird von oben nach unten abgearbeitet; es kann dabei mehrmals zwischen HTML und PHP gewechselt werden. Zur Auffrischung bzw. Vertiefung Ihrer HTML-Kenntnisse soll an dieser Stelle auf zwei Möglichkeiten verwiesen werden, nämlich auf 19 HTML-Kurs 1427.book Seite 20 Dienstag, 5. Mai 2009 10:08 10 2 PHP-Programmierkurs 왘 den Schnellkurs »HTML für PHP« in Anhang A des Buchs, in dem die wichtigsten HTML-Themen, die zur PHP-Programmierung notwendig sind, erläutert werden, sowie auf 왘 einen ausführlichen HTML-Kurs auf der CD zum Buch. Das folgende, vollständige Beispiel verdeutlicht die Einbettung von PHPCode in HTML: <html> <head> <title>Titelzeile der Datei</title> </head> <body> Die erste Zeile in HTML<br /> <?php echo "Die zweite Zeile in PHP<br />"; ?> Die dritte Zeile in HTML<br /> <?php echo "Die vierte Zeile in PHP<br />"; echo "Die fünfte Zeile in PHP"; ?> </body> </html> Listing 2.1 Datei p201.php echo Die PHP-Anweisung echo gibt den angegebenen Text auf dem Bildschirm aus. Der Text muss in doppelten Anführungszeichen oder einfachen Hochkommata geschrieben werden. Falls der Text HTML-Markierungen beinhaltet (hier <br /> für einen Zeilenumbruch), werden diese ausgeführt. Die Ausgabe des Programms im Browser sieht wie folgt aus: Abbildung 2.1 Einbettung von PHP in HTML Um das Beispiel nachzuvollziehen, gehen Sie wie folgt vor: 20 1427.book Seite 21 Dienstag, 5. Mai 2009 10:08 10 2.2 Kommentare 왘 Starten Sie nach der in diesem Buch empfohlenen Installation von XAMPP zunächst den Apache-Webserver über das XAMPP Control Panel. 왘 Legen Sie die Datei p201.php in das Hauptverzeichnis des Webservers (unter Windows C:\xampp\htdocs). 왘 Geben Sie in der Adresszeile Ihres Browsers http://localhost/k2/ p201.php ein. Sollten Sie in Ihrem Browser nicht die gleiche Ausgabe wie in Abbildung 2.1 sehen, kontrollieren und korrigieren Sie ggf. die eingegebene Adresse. Falls diese stimmt, ist PHP möglicherweise nicht korrekt installiert, siehe Anhang B, »Installationen«. 2.2 Kommentare Mit Hilfe von Kommentaren wird ein Programm lesbarer. Kommentare werden nicht ausgeführt, sondern dienen nur zur Information des Entwicklers, insbesondere bei umfangreichen Programmen. Sollte es sich um eine Gruppe von Entwicklern handeln oder sollte das Programm später von anderen Entwicklern weiter bearbeitet werden, so ist es besonders notwendig, Kommentare zu schreiben. Kommentare Hinweis Erfahrungsgemäß gibt es immer wieder Entwickler, die ihre Programme nur minimal kommentieren. Dies stellt sich nach kurzer Zeit als Nachteil für sie selbst und ihre Kollegen heraus. Man unterscheidet zwischen einzeiligen und mehrzeiligen Kommentaren. 왘 Ein einzeiliger Kommentar beginnt mit den Zeichen // und endet am Ende der Zeile. Er wird im Allgemeinen zur Kommentierung einzelner Begriffe verwendet. // 왘 Ein mehrzeiliger Kommentar beginnt mit den Zeichen /* und endet mit den Zeichen */. Er wird üblicherweise zur Erläuterung eines Programmblocks verwendet. /* ... */ Ein Beispiel hierzu: <html> <body> <?php echo "Das ist der Anfang"; // Kommentar // bis zum Zeilenende 21 1427.book Seite 22 Dienstag, 5. Mai 2009 10:08 10 2 PHP-Programmierkurs /* Ein Kommentar über mehrere Zeilen hinweg */ echo " und hier das Ende des Programms"; ?> </body> </html> Listing 2.2 Datei p202.php Die Ausgabe des Programms im Browser sieht wie in Abbildung 2.2 dargestellt aus. Abbildung 2.2 Programm (ohne sichtbare Kommentare) Übung P203 Schreiben Sie ein PHP-Programm innerhalb einer Webseite (Datei p203.php) mit Kommentarzeilen. Speichern Sie die Datei im Hauptverzeichnis Ihres Webservers und testen Sie das Programm, indem Sie einen Browser aufrufen und die passende Adresse eingeben. Die Ausgabe des Programms im Browser sollte wie folgt aussehen: Abbildung 2.3 2.3 Variable Ergebnis von Übung P203 Variablen, Datentypen und Operatoren Innerhalb eines Programms können Informationen zur späteren Verwendung in Variablen gespeichert werden. Diese Variablen unterscheiden sich in ihren Datentypen. PHP unterstützt Datentypen für: 왘 ganze Zahlen 왘 Zahlen mit Nachkommastellen 왘 Zeichenketten (Strings) 22 1427.book Seite 23 Dienstag, 5. Mai 2009 10:08 10 2.3 Variablen, Datentypen und Operatoren 왘 Felder (ein- und mehrdimensionale Felder von Variablen) 왘 Objekte Der Datentyp für eine Variable wird nicht vom Programmierer festgelegt, sondern richtet sich nach dem Zusammenhang, in dem die Variable verwendet wird. Eine Variable kann ihren Datentyp innerhalb eines Programms wechseln. Im Unterschied zu vielen anderen Programmiersprachen findet in PHP keine Variablendeklaration statt. Dies bedeutet, dass eine Variable bei ihrem ersten Erscheinen sofort benutzt werden kann und dem Programm vorher nicht bekannt gemacht werden muss. Datentypen Zunächst geht es um die sogenannten »einfachen Datentypen« (Zahlen und Zeichenketten), mit denen viele Aufgaben bei der Programmierung bereits erledigt werden können. Später kommen Felder und Objekte hinzu. 2.3.1 Namen Für den Namen einer Variablen (und später auch Funktionen) gelten folgende Regeln: 왘 Er muss mit einem Dollarzeichen beginnen. 왘 Er darf keine Leerzeichen enthalten. 왘 Er darf nur aus Buchstaben und Ziffern bestehen, wobei das erste Zeichen ein Buchstabe sein muss. Es sind Groß- und Kleinbuchstaben erlaubt, zwischen denen jedoch unterschieden wird ($HokusPokus ist nicht das Gleiche wie $hokuspokus). 왘 Er darf keine deutschen Umlaute oder scharfes s (ß) enthalten. 왘 Er darf als einziges Sonderzeichen den Unterstrich _ enthalten. 왘 Er darf nicht mit einem reservierten Wort identisch sein, also zum Beispiel mit einem Befehl aus der Sprache PHP. Eine Liste finden Sie in Anhang C. $ Sie sollten selbsterklärende Namen vergeben. Dies hat den Vorteil, dass sich jeder, der sich später mit dem Programm befasst, sofort zurechtfindet. Einige Beispiele: $Startmeldung, $Temperaturwert, $XKoordinate, $Ywert 2.3.2 Variablennamen Variablen für Zahlen Betrachten wir einmal das folgende Programm, in dem der Preis für eine Tankfüllung Benzin berechnet wird: <html> <body> 23 1427.book Seite 601 Dienstag, 5. Mai 2009 10:08 10 Index – (minus) 25 -- 53 ! (Ausrufezeichen) 45 $ (Dollar) 72, 432 $_COOKIE 396 $_GET 33, 140, 391, 525 $_POST 382, 526 $_SESSION 376 % (Prozentzeichen) 25, 183, 368 & (Kaufmanns-Und) 140, 525 && 44 ' (Hochkomma) 27 * (mal) 25, 433 + (plus) 25, 434 ++ 53 . (Punkt) 27, 439 .= 27 / (durch) 25 /* 21 // 21 :: 264 < (kleiner) 38, 182 <<< XML 424 <= 38, 182 <> 182 <?php 19 <p> 20 = (gleich) 182 => 67 > (größer) 38, 182 >= 38, 182 ? (Fragezeichen) 140, 435, 525 ?> 19 [ ] 64, 437 \ 27 \n 229 ^ (hoch) 431, 441 __autoload() 278 __construct() 250 __destruct() 253 __FILE__ 273, 537 __LINE__ 273 __METHOD__ 273 __toString() 277 {nb} 478 | (Pipe) 438 || 43 A Absatzumbruch 20 Absenden 31, 122 abstract 271 action 30 add 172 add unique 173 Addition 25 after 172 Aktionsabfrage 176, 211 Aktionselement 122 align 56 alter table 169 and 182 Angriffe 525 Anmeldung 378 Anweisungsblock 39, 53 append 303 application/x-shockwave-flash 490 array() 64 array_key_exists() 284 arsort() 331 as 68 asc 186 ASCII-Code 295 asort() 331 asXML() 425 aufhängen 54 Ausdruck, regulärer 427 Ausrichtung 56 Auswahlelement 113 Auswahlmenü 208 einfaches 116 mehrfach 120 auto_increment 354 autoload 278 B base_convert() 373 Basisklasse 245, 263 601 1427.book Seite 602 Dienstag, 5. Mai 2009 10:08 10 Index Bedingung 37 Benutzeroberfläche 222 bigint 354 bindec() 373 body 576 Bogenmaß 363 border 580 br 578 break 49, 60 C Cache 526 call-by-reference 80 call-by-value 80 Cascading Style Sheets 130 case 49 catch 520 ceil() 363 cfgServers 241 change 169 Chat 541 chdir() 320 Checkbox 117 checkdate() 346 checked 114, 117 chr() 296 class 247 Clientprogramm 17 closedir() 319, 321 CLSID 489 cols 108 config.inc.php 241 confirm() 224 connect.inc.php 238 Container 576 continue 62 Cookies 375, 395 anzeigen 397 Lebensdauer 526 copy() 148 count() 148 crc32() 299 create database 165 create table 168 crypt() 299 CSS 130, 222 Formatvorlagen 138 CSS-Datei, externe 138 602 CSV-Datei 289 CSV-Format 310 D date() 318, 343, 347 date.timezone 319 Datei Angabe der Position 314 binärer Zugriff 301 Ende ermitteln 305 Existenz 302 externe 72 formatierte Ausgabe 314 Größe feststellen 316 Informationen ermitteln 317, 319 Lese-/Schreibposition festlegen 314 lesen 301 öffnen 303 schließen 303 schreiben 307 sequenzieller Zugriff 301 Text anhängen 308 vereinfachtes Lesen 306 verschieben 160 wahlfreier Zugriff 301, 314 Zeichenkette lesen 303 Zeichenkette schreiben 308 zurückspulen 314 Dateityp 300 Datenbank 161 Abfrage 177, 193 Abfrage, SQL kontrollieren 196 Auswahl 193 Erzeugung 164 hochladen 237 löschen 166 umbenennen 165 Datenbankabfrage Anzahl der Datensätze 194 Datensatz speichern 194 HTML-Tabelle ausgeben 199 Datenbankbrowser 229 Datenbankserver 162 Verbindung aufnehmen 193, 238 Verbindung trennen 194 Datenfeld 161 Eigenschaften ändern 168 löschen 168 1427.book Seite 603 Dienstag, 5. Mai 2009 10:08 10 Index Datensatz 161 ändern 187, 213, 215 auswählen 177, 193 erzeugen 175, 209 identifizieren 172 löschen 190, 220 Sortierung 186 Datentyp 22 Datum und Zeit 342 Datenbankspeicherung 353 Differenz 350, 352 Erzeugung 347, 349 formatieren 343 Gültigkeit prüfen 346 Systemzeit ermitteln 342 Zeitdifferenz 349 decbin() 373 dechex() 373 decoct() 373 default 49 deg2rad() 363 delete 190, 221, 226 deprecated 513 desc 186 Destruktor 253 Dezimalsystem 372 Dezimaltrennzeichen 24 dirname() 537 display_errors 515 Division 25 ganzzahlig 25 document 124 Dollarzeichen 23 doubleval() 34, 329 do-while 62 drop 171 drop database 166 drop index 174 drop table 175 Dualsystem 372 Dump 240 E e 25 E_ALL 514 echo 20 e-Funktion 359 Eigenschaft 245 statische 269 Eingabe 29 Eingabefeld Passwort 110 Eingabemaske 136 Einsatzbereich 17 Element, verstecktes 110, 140, 218, 227 else 40 E-Mail Absender 530, 534 Antwort-Empfänger 535 automatisieren 528 Bcc 535 Betreff 534 Cc 535 HTML 533, 535 mit Anlage 538, 540 mit Bild 537 Nachricht 530, 534 senden 534 E-Mail-Header 530 embed 489 enctype 146 endif 51 endlich 365 Ergebniskennung 194 Erlernbarkeit 17 error_log 515 error_reporting 514 Errorhandler 518 Eventhandler 124 Exception, Klasse 522 Exceptionhandling 520 explode() 148, 288 Exponentialzahl 24 extends 264 extension_dir 448, 486 extension_loaded() 448, 486 F false 37, 125 fclose() 303 FDB-Datei 492 Fehler 512 Fehlerklasse 521 603 1427.book Seite 604 Dienstag, 5. Mai 2009 10:08 10 Index Feiertag 98 berechnen 355 Feld 63 assoziatives 33, 66 ein- oder mehrdimensionales 63 Extrema ermitteln 325 Größe ermitteln 325 numerisch indiziertes 63 Operationen 324, 331 Schlüssel 66 Sortierung 324, 331 statistische Auswertung 327 Wert 67 zweidimensionales assoziatives 339 zweidimensionales gemischtes 336 zweidimensionales numerisches 333 Feld von Formularelementen 120, 132 feof() 305 fgets() 303 file 146 file() 306 file_exists() 302 file_put_contents() 425 filesize() 316 Flash Aktionen 511 bewegen 498 Bild einbinden 507 Bild einblenden 508 Bildwechsel 498 Button 511 drehen 500 Font 492 Fontfarbe 492 Fontgröße 492 Größe verändern 502 Linie ziehen 495, 496 Liniendicke und -farbe 494 nächstes Bild 497 Objekt füllen 494 Positionierung 492 Text 492 Text hinzufügen 492 Text mit Font verbinden 492 URL wechseln 512 verzerren 505 Zeichenobjekte 494 Zeichenstift bewegen 495 Flash-Anwendung 485 604 Flash-Plug-in 486 Flash-Version 488 floor() 100, 363 fopen() 303, 507 for 52 foreach 62, 68, 421 form 30, 578 Formatierung 91, 130 Formular 527, 577 auswerten 30, 105 prüfen 123 Formular und Programm in einer Datei 135 Forum 552 Forward-Slash 576 fpdf 467 AddLink() 481 AddPage() 468 AliasNbPages() 478 Cell() 470, 473, 483 Footer() 477 GetX() 484 GetY() 484 Header() 477 Image() 479, 483 Line() 484 Link() 483 Ln() 472, 475 Output() 468, 540 Rect() 485 SetDrawColor() 475 SetFillColor() 475, 485 SetFont() 470 SetFontSize() 472 SetLineWidth() 475, 484 SetLink() 481 SetTextColor() 472 SetX() 485 SetXY() 485 SetY() 477 Write() 472, 481 fputs() 308 Frame 130 from 177, 190 fseek() 314, 317 ftell() 314 FTP 156 func_get_arg() 86 func_get_args() 86 1427.book Seite 605 Dienstag, 5. Mai 2009 10:08 10 Index func_num_args() 86 function 70, 247 Funktion 69 Aufruf 72 benutzerdefinierte 88 Definition 71 mathematische 359 Parameter 72, 73, 75 Rückgabewert 78 trigonometrische 363 Übergabe von Parametern 80 variable Parameterliste 86 verlassen 79 G Gauß, Carl Friedrich 100 gd_info() 448 GD-Bibliothek 447 Geldanlage 92 get 33 get_class_methods() 276 get_declared_classes() 276 getcwd() 322 GET-Parameter 388 getrandmax() 367 getURL() 512 gleich 38, 182 Gleichheitszeichen, doppeltes 38 global 85 globals 526 Grafik 446 Bild aus Datei laden 454 Bildausschnitt 456 Bilder ineinander einbetten 455 Bogen 457 Breite 455 Ellipse 457 erzeugen 449 erzeugen und anzeigen 451 Farbpalette 449 Höhe 455 interner Font 451 Linie 460 Linie, gepunktet 462 Linienart 461 Liniendicke 461 mit Farbe füllen 449, 462 Objekt erzeugen 449 Grafik (Forts.) Pixel 460 Polygon 459 Rechteck 459 speichern 448 Text drehen 453 Text erzeugen 452 TrueType-Fonts 452 TTF-Datei 453 Zeichenelement 457 Gregorianischer Kalender 346 Groß- und Kleinschreibung 23 Größer 38, 182 group 567 Grundrechenarten 149 Gültigkeitsbereich 365 H Handle 257 Hash-Tabelle 63 head 576 header() 450, 490 Hexadezimalsystem 372 hexdec() 373 Heyes, Richard 533 hidden 110, 525 Hintergrundfarbe 139 Hochkommata 27, 67 Hochladen von Daten 146 Hochladen von Programmen 156 Hover-Effekt 139 href 581 HTML 575 HTML-Entities 527 htmlMimeMail 534 addAttachment() 538, 540 getFile() 538 send() 534 setBcc() 535 setCc() 535 setFrom() 534 setHTML() 535, 537 setReturnPath() 535 setSubject() 534 setText() 534 htmlspecialchars() 527 HTML-Tabelle 55 605 1427.book Seite 606 Dienstag, 5. Mai 2009 10:08 10 Index Hyperlink 138, 580 Daten anhängen 143 Hypertext Markup Language 575 I if 37, 38 if-else 37, 39 image/jpg 450 imagearc() 458 imagecolorallocate() 449 imagecopy() 456 imagecreate() 449 imagecreatefromjpeg() 455 imagedashedline() 462 imagedestroy() 449 imageellipse() 458 imagefill() 449 imagefilledarc() 458 imagefilledellipse() 458 imagefilledpolygon() 460 imagefilledrectangle() 460 imagefilltoborder() 463 imagejpeg() 449 imageline() 461 imagepng() 449, 455 imagepolygon() 460 imagerectangle() 459 imagesetpixel() 461 imagesetstyle() 461 imagesetthickness() 461 imagestring() 452 imagesx() 455 imagesy() 455 imagettftext() 453 img 537 implode() 289 inc.php 89 include 72, 88 include_once 73 Index 64 eindeutiger 172, 215 löschen 173 ini_get() 448, 486, 516, 529 ini_set() 517 input 105, 578 insert 211, 226, 355 insert into 176 instanceof 275 606 Instanz 245 integer primary key 404 Internetseiten, dynamische 16 intval() 34, 346 IP-Adresse 354 Ipswitch 156 is_dir() 321 is_file() 321 is_finite() 365 is_infinite() 365 is_nan() 365 is_readable() 321 is_writeable() 321 isset() 119, 136, 378 J JavaScript 222 K Kapselungsprinzip 248 Key 66 Klammer eckige 64 geschweifte 39, 53 Klasse 245 abgeleitete 245, 263 abstrakte 272 Definition 247 Klassendefinition 246 Klassenhierarchie 264 Klassenkonstante 268, 269 Kleiner 38, 182 Klonen 257 Kommentar einzeilig 21 mehrzeilig 21 Konstante, mathematische 360 Konstruktor 250 Vererbung 266 Kontrollkästchen 117 Konvertierung 34 explizit 34 krsort() 331 ksort() 331 1427.book Seite 607 Dienstag, 5. Mai 2009 10:08 10 Index L lcg_value() 367 Lesbarkeit 21 like 183 limit 177 log_errors 515 Logarithmus 359 Log-in 378 Log-Tabelle 354 Lotto 369 M Macromedia 486 Mail Bcc 533 Betreff 530 Cc 533 From 530 Reply-To 533 mail() 529 Markierung 576 max() 363 Maximum 361 maxlength 106 md5() 299, 528 Mehrspaltig 579 Mercury Mail 528 method 30 Methode 245, 247 abstrakte 273 statische 269 microtime() 342, 367 min() 363 ming_useswfversion() 488 Ming-Bibliothek 485 Minimum 361 mktime() 347, 353, 399, 513 Modularisierung 70, 84 Modulo-Operator 25, 368 Movie 488 Ausgabe 490 Einzelbilder 488 Größe 488 Hintergrundfarbe 488 Speicherung 488 mt_getrandmax() 367 mt_rand() 367 mt_srand() 367 Multimedia einbinden 488 multiple 120 Multiplikation 25 MySQL 162 mysql_affected_rows() 211 mysql_connect() 193, 238 mysql_fetch_assoc() 194 mysql_num_rows() 194 mysql_query() 193 mysql_real_escape_string() 527 mysql_select_db() 193 N Nachkommastelle 24 name 106, 108, 115, 148 Namensregel 23, 72, 165 new 249 new FPDF 468 new SWFAction() 511 new SWFButton() 511 new SWFFont() 492 new SWFMovie() 488 new SWFShape() 494 new SWFTextField() 492 newuser@localhost 528 not 182 NOT NULL 168, 176 NULL 167 number_format() 91 Nummerierung, automatische 354 O object 488 Größe 489 height 489 width 489 Objekt 245 als Rückgabewert 267 erzeugen 249 Kopie 257 Lebensdauer 250 octdec() 373 Oder, logisches 43 Oktalsystem 372 onSubmit 124 607 1427.book Seite 608 Dienstag, 5. Mai 2009 10:08 10 Index opendir() 319 Open-Source-Datenbank 162 Operator arithmetisch 25 logischer 43, 182 Rangordnung 26, 46 Rechen- 25 Vergleichs- 37, 182, 183 optimize table 175 option 117 Optionsschaltfeld 113 Gruppe 114 or 182 ord() 296 order by 186 Ostersonntag 98, 357 P p 578 param 489 Parameter, optionaler 255 parent 264 parent::__construct() 266 password 110 Passwort 379, 527 Speicherung 528 verschlüsseln 528 PDF Ausgabe 468 Bild skalieren 479 erzeugen 467 Fließtext 471 Font 470 Füllfarbe 475 Hyperlink 479 Hyperlink erzeugen 481 Hyperlink, Bild 483 Hyperlink, Bildbereich 483 Hyperlink, externer 483 Hyperlink, Zelle 483 Hyperlink, Zielpunkt 481 Image Map 479 Kopf- und Fußzeile 475 Linie 483 Liniendicke 475, 484 Linienfarbe 475 Rechteck 483 Schreibposition 477, 484 608 PDF (Forts.) Schriftart 470 Schriftfarbe 472 Schriftgröße 470, 472 Schriftschnitt 470, 472 Seite erzeugen 468 Seitenanzahl 478 Seitenumbruch 478 Standardfont 469 Tabelle 473 unterstreichen 481 Zeilenhöhe 472 Zeilenumbruch 471, 472, 475 Zelle 470 Zelle, Ausrichtung 470 Zelle, Füllung 470 Zelle, Größe 470 Zelle, Rand 470 Zelle, Schreibposition 470 PHP Konfiguration 319 Nutzung, Anzahl 15 Nutzung, Gründe 16 PHP Hypertext Preprocessor 16 php.ini 319, 448, 486, 514, 526, 529 php_gd2.dll 448 php_ming.dll 486 phpguru.org 533 phpMyAdmin 162, 163 Internetnutzung 237 Konfiguration 241 Pizzabestellung 152 Platzhalter 183 Plausibilität 527 post 30 Potenzrechnung 359 preg_match() 427 preg_match_all() 428 preg_replace() 444 Preis 17 private 248 Programmierstil 19 Programmierung, objektorientierte 245 Programmpaket 525 protected 248 Provider 156 Proxy 526 public 248 1427.book Seite 609 Dienstag, 5. Mai 2009 10:08 10 Index R rad2deg() 364 radio 113 Radiobutton 113, 205 Rahmen 580 rand() 58, 367 read 303 readdir() 319 readfile() 306 readonly 106, 108 Referenz 80, 101 rekursiv 70, 322 REMOTE_ADDR 354 rename 174 require 72 require_once 73 reset 31, 578 return 78 JavaScript 125 rewind() 314 round() 363 rows 108 rsort() 325 S Schleife 51 Abbruch 60 bedingungsgesteuerte 58, 62 endlose 53 fortsetzen 62 geschachtelte 54 Schriftart 139 Schriftgröße 139 SEEK_CUR 317 SEEK_END 317 SEEK_SET 317 Seitenquelltext 229 select 117, 120, 177, 193 selected 117 self 271 Separator 289 serial 354 Serverprogramm 17 Session 526 Gültigkeit beenden 526 session_cache_limiter() 526 session_destroy() 376 session_id() 378 session_regenerate_id() 526 session_set_cookie_params() 526 session_start() 376 Session-ID 377 regenerieren 526 Sessionmanagement 375 set 188 set_error_handler() 519 setcookie() 395 show columns 234 show databases 233 show tables 233 shuffle() 370 Sicherheit 525 similar_text() 294 SimpleXML 416 simplexml_load_file() 418 simplexml_load_string() 424 size 106, 148, 578 sizeof() 325 SMTP-Konfiguration 529 sort() 325 SORT_NUMERIC 325 SORT_REGULAR 325 SORT_STRING 325 Spiel 60 sprintf() 314 SQL 162 SQL-Code, schädlicher 527 SQLite 402 sqlite.exe 404 sqlite_array_query() 408 SQLITE_ASSOC 407 sqlite_close() 405 sqlite_fetch_array() 407 sqlite_open() 405 sqlite_query() 405 srand() 58, 367, 372 ß (scharfes s) 23 Startwert 52 stat() 317 Stellenwertsystem 372 str_replace() 285 str_rot13() 299 strcasecmp() 294 strcmp() 294 strftime() 343 Strict Standards 513 609 1427.book Seite 610 Dienstag, 5. Mai 2009 10:08 10 Index String-Funktionen 285 stristr() 290 strlen() 285 strpos() 292 strrchr() 290 strrev() 285 strrpos() 292 strstr() 290 strtolower() 285 strtotime() 349 strtoupper() 285 strtr() 285 submit 31, 122, 578 submit() 127 substr() 290 Subtraktion 25 Suchformular 200 Suchmuster 427 SWFAction 511 SWFBitmap 507 SWFButton 511 addAction() 512 addShape() 511 SWF-Datei 485 SWF-Datei, Anzeige 488 SWFDisplayItem 492 moveTo() 492 multColor() 508 rotateTo() 500 scaleTo() 502 skewXTo() 505 skewYTo() 505 SWFFont 492 SWFMovie 488 add() 492 nextFrame() 497 output() 490 save() 488 setBackground() 488 setDimension() 488 setRate() 488, 498 SWFShape 494 drawLine() 496 drawLineTo() 495 movePenTo() 495 setLeftFill() 494 setLine() 494 SWFTextField 492 addString() 492 610 SWFTextField (Forts.) setColor() 492 setFont() 492 setHeight() 492 switch-case 48 Systemvoraussetzungen 18 Systemzeit, ermitteln 342 T Tabelle 161, 579 erzeugen 167 exportieren 240 Feld erzeugen 171 Feld löschen 170 Feld umbenennen 169 Feldtyp ändern 170 Filterung 569 löschen 175 optimieren 175 Sortierung 568 Struktur 161 Struktur ändern 168 umbenennen 174 Tabellenzeile 579 Tabellenzelle 579 table 579 target 130 Tausendertrennzeichen 92 td 579 Text ersetzen 427 suchen 427 text/html 533 textarea 108 Texteingabefeld einzeiliges 30, 105 mehrzeiliges 108 Textelement 105 Textfarbe 139 this 247 throw 520 time() 342, 353 Timestamp 318, 342, 353 title 576 tr 579 true 125 try 520 type 148, 578 1427.book Seite 611 Dienstag, 5. Mai 2009 10:08 10 Index U Überladen 255 ucfirst() 285 ucwords() 285 Umlaut 23 Und, logisches 44 Unendlich 365 Ungleich 38, 182 unique index 172 unset() 527 Unterstrich 23 Unterverzeichnis 159 update 188, 215, 226 Upload 146 URL, Daten anhängen 140, 525 V Value 67 value 106, 115, 119, 122 values 176 var 248 Variable 22 Existenz 119, 136, 211 globale 84 Gültigkeit 527 Gültigkeitsbereich 84 initialisieren 527 lokale 84 superglobale 84 unerlaubter Zugriff 526 Vererbung 262 Vergleichsoperator 37 Verkettung 27 Verknüpfung 43 Verschlüsselung 297, 299 Verzeichnis aktuellen Namen ermitteln 322 Informationen ermitteln 319 lesen 321 öffnen 321 schließen 321 wechseln 320 Verzeichnisschutz 237 Verzeichnisstruktur 158 Verzweigung 37 mehrfache 46, 48 Verzweigung (Forts.) mit HTML 50 verschachtelte 46 W Warenkorb 384 Webcounter 312 Webserver, Hauptverzeichnis 22 Webshop 384 where 181 while 58 Wiederholung 51 Wildcard 183 Winkelfunktionen 363 write 303 WS_FTP 156 WS_FTP LE 595 Würfel 58 Wurzel 359 X XML 416 XML-Datei, hierarchische Struktur 417 XML-Zeichenkette 424 Z Zahl 23 formatierte Ausgabe 91 Ganzzahlkonvertierung 361 Nachkommastellen 92 Prüffunktionen 365 Zahlenbereich 365 Zeichencodierung 295 Zeichenkette 27 drehen 285 Länge 285 Teile ersetzen 285 Teile extrahieren 290 umwandeln 285 Umwandlung 34 vergleichen 294 Zeichen suchen 292 zerlegen 288 zusammenfügen 289 Zeichenkettenfunktionen 285 611 1427.book Seite 612 Dienstag, 5. Mai 2009 10:08 10 Index Zeilenumbruch 229 nicht erlaubter 28 Zeitangabe formatieren 318 Zeitzone einstellen 318 Zufallsgenerator 58 612 Zufallszahlengenerator 367 Zugriffsrechte 165 Zugriffszähler 312, 376 Zurücksetzen 31, 122