... Mailingliste[*]
http://ml.junetz.de/list/listinfo/dsp-announce/
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... FAQs[*]
Frequently Asked Questions
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... AFAPQ[*]
Answer For Any Possible Question
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... SQL[*]
Structured Query Language
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... DBS[*]
Datenbanksysteme, mehr dazu im ersten Teil
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... hat[*]
Ich lasse es mir natürlich nicht nehmen, überall noch etwas zu korrigieren. Im Gegenzug ist Jens immer noch so freundlich und korrigiert meine Sachen ;-)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Autorenteam[*]
Team = Toll, ein anderer macht's!
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Version[*]
die war irgendwann 1998
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Homepage[*]
die eigentlich gar nicht so toll war
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Schule[*]
die Ernst-Reuter Schule I in Frankfurt
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Webserver[*]
An dieser Stelle meine ich die Software, nicht den Rechner
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Rauschmittel[*]
Oder? ;-)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... File-Locking[*]
z.B. Was passiert wenn zwei Besucher zur genau selben Zeit die Seite aufrufen?
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Primärschlüssel[*]
Primärschlüssel werden im folgenden durch eine führende Raute (#) gekennzeichnet
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Primärschlüssel[*]
bei zusammengesetzten Primärschlüsseln wird im Folgenden jeder Teil mit einer führenden Raute (#) gekennzeichnet
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Konsole[*]
unter Windows: MS-DOS Eingabeaufforderung
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Prompt[*]
unter DOS z.B. c:
>
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... installieren[*]
Das schließt natürlich das Starten des Datenbank-Servers mit ein!
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... ASCII[*]
American Standard Code for Information Interchange
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...ASC [*]
engl. ascending
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...DESC [*]
engl. descending
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Ausdrücke[*]
engl.: regular expressions
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Equi[*]
Kurzform für engl. equal, in deutsch: gleich, Gleichheit
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...-Join[*]
deutsch: Verknüpfung
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Tabellen-Aliase[*]
Wer vergeßlich ist, kann auf Seite [*] nachschlagen :-)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Ergebnis[*]
Sonst würde dieses Beispiel auch nicht im Kapitel Outer-Join stehen ... ;-)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... (komischerweise[*]
IMHO sollte schon richtig nach der Spalte `sort` sortiert werden
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Paßwort[*]
Das solltest du aber, sobald es geht, ändern, d.h. eines setzen!
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... sind[*]
Bei der Authentifizierung wird ja nur mit demselben Algorithmus verschlüsselt und dann verglichen - eine Entschlüsselung ist gar nicht vorgesehen (und sollte nicht möglich sein)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Tiefe[*]
Tiefe bei einem Baum heißt, wie viele Knoten hintereinander hängen
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Frauen[*]
Wer will, darf diesen Satz auch umdrehen.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...PHP[*]
PHP Hypertext Preprocessor
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... HTML[*]
Hypertext Markup Language
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Java[*]
Beides kann zwar auch serverseitig laufen, wobei sie dann PHP ersetzen. I.A. wird es aber clientseitig eingesetzt
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... PHP-Code[*]
Falls doch PHP-Code beim Client gelandet ist, hat der Server, der Serveradministrator oder der Scriptautor einen Fehler gemacht
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... haben[*]
SQL ist dem Sinn und Zweck nach viel weniger eine Programmiersprache als PHP
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... XML[*]
Extensible Markup Language, eine HTML nicht unähnliche Ausdruckssprache zum einheitlichen und doch hochflexiblen Speichern von Daten aller Art
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Quoting[*]
von engl. to quote: zitieren
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Escapen[*]
engl. to escape: entkommen. Hintergrund: Das escapete Zeichen ,,entkommt`` der vorgesehenen Interpretierung durch die Sprache, in diesem Fall PHP.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... characters[*]
engl. character: Buchstabe (wird häufig auch als char abgekürzt)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Tage[*]
Schaltjahre werden der Einfachheit einfach mal nicht beachtet
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... skalare[*]
Skalare Datentypen sind u.a.: integer, string
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Primitivtypen[*]
Primitivtypen sind z.B. String oder Integer, im Gegensatz z.B. zu Arrays oder Objektreferenzen, dazu später mehr
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... angenommen[*]
Das heißt aber nicht, daß nun die Variable wirklich einen konstanten Wert hätte ... ;-)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... erzeugen:[*]
Man kann tatsächlich sogar soweit gehen, die Namen von Funktionen bzw. Methoden (in der OOP) mittels Variablen zusammenzusetzen. Das wollen wir aber nicht vertiefen ...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...FOR-Schleifen[*]
Wer sich über den Namen wundert: das englische ,,for`` hat neben dem allgemein bekannten ,,für`` auch noch eine andere, zeitliche Bedeutung und wird dann z.B. mit ,,für die Dauer von`` übersetzt!
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... inkrementiert[*]
Um eins erhöht
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Werteparameter[*]
In der Funktion wird mit einer Kopie der Variablen gearbeitet
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... übergeben[*]
wird auch als ,,Call by value`` bezeichnet
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Variablenparametern[*]
Es wird mit den Originalvariablen gearbeitet, weil nur die Adresse übergeben wird
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Referenzparametern[*]
Zwei Namen für dasselbe
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... arbeiten[*]
wird auch als ,,Call by reference`` genannt
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Normalfall[*]
Ausnahmen bestätigen die Regel, aber dazu weiter unten mehr
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... ausdrücken[*]
Im Gegensatz zum sonst in PHP üblichen Escapen mithilfe des Backslashes
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... erlauben[*]
U.U. kann es ja sein, daß man den Formatierungs-String nicht verändern möchte, z.B. weil er schon in Form einer Variablen vorliegt
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Vorteile[*]
Man hätte hier auch an Stelle der ganzen if und elseif auch eine switch-Anweisung nehmen können
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... sollte[*]
Das allerdings nur auf Servern, bei denen PHP dies nicht schon implizit macht!
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Normen[*]
Komma als Tausender-Trennzeichen und Punkt als Dezimaltrenner
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... benutzen[*]
Worauf schon das ,s` hindeutet: Es steht für ,,silent``, zu deutsch: still.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Variable[*]
Eine Variable, der noch kein Wert zugewiesen wurde, ist nicht initialisiert
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... ausdrücken[*]
Da auch definiert wurde, das $ 0! = 1$, kann man die Rekursion auch bis $ n = 0$ laufen lassen.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... befördern.[*]
Von der Vorgeschichte scheint es Dutzende von Abwandlungen zu geben. Letztlich ist sie aber eh nur erfunden ...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Schachbrett[*]
Der Legende nach versprach der König dem Erfinder des Schachspiels ihm einen Wunsch zu erfüllen. Dieser dachte lange nach und wünschte sich dann: Er wollte Reis auf ein Schachbrett. Und zwar auf das erste Feld 1 Korn, auf das zweite Feld 2 Körner, auf das dritte Feld 4 Körner, auf das vierte Feld 8 Körner usw. bis zum 64. Feld. Der König lachte und versprach dem Erfinder den Wunsch zu erfüllen. Trotz aller Anstrengungen war es ihm aber unmöglich. Der König hätte mehr als die 800fache Jahresproduktion an Reis von 1994 gebraucht.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Hanoi[*]
Und mehr noch die Ackermann-Funktion, s.u.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... LIFO[*]
Last in first out
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... muß[*]
Dies ist Teil der sog. von Neumann-Architektur
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... hätte[*]
Davon ausgenommen sind natürlich Klassenvariablen und Referenzen auf Objekte in der OOP
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... MIME[*]
Multi Purpose Internet Mail Extensions, Mehrzweck-Internet-E-Mailerweiterungen
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... wiederfinden[*]
Im sog. URL-encoded Format, s.u.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Formulares[*]
Gilt allgemein für alle POST/GET-Übergaben!
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... kann.[*]
Das Gesagte gilt nur, wenn in der PHP-Konfiguration register_globals aktiviert wurde, was standardmäßig bis Version 4.1.X der Fall ist. Danach ist es standardmäßig ausgeschaltet (und das ist auch gut so).
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...jeder[*]
Über einfaches Kopieren und Verändern der URL
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... sollen[*]
Hindert natürlich keinen, sie trotzdem zu verändern
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... ist[*]
Es gibt z.B. auch is_numeric() für Zahlen
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... ist.[*]
Als dritten, booleschen Parameter kann man optional noch angeben, ob auch auf Typgleichheit geprüft werden soll.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... wird[*]
Sind die Daten nicht korrekt, kann eine Fehlermeldung generiert und das Formular ggf. mit den korrigierten Daten erneut angezeigt werden, anstatt weiterzuleiten
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Array[*]
$_POST bzw. $_GET, je nach Übermittlungsart
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... an[*]
Namensvergabe im Formular: einheitlicher Name, direkt gefolgt von dem eigentlichen Variablenname in eckigen Klammern, z.B. daten[vorname]
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... verändert[*]
Fehlerbehandlung wurde hier absichtlich außen vor gelassen, um die vorhergehenden Aufgaben nicht zu beeinträchtigen
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... RFC[*]
Request for Comments
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... HTML[*]
hier allerdings nicht konditional, also bedingungsabhängig, sondern nur nach einer festen Anzahl Sekunden
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...nicht[*]
Übrigens: PHP gibt es auch als Modul für Windows, siehe auch PHP-FAQ[8] ``Wo finde ich PHP als Modul für Windows?``
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... funktioniert![*]
Beachtet man z.B. die Groß-/Kleinschreibung nicht, kann das dazu führen, daß die Authentifizierung nicht mehr mit dem Internet Explorer, wohl aber weiterhin mit dem Netscape Navigator funktioniert!
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Hochkommata[*]
Nach RFC muß der Dateiname gequotet werden
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... 5.5[*]
Wie es sich mit IE 6.x verhält, wissen wir erst, wenn die endgültige Version erschienen ist. Ältere Versionen dagegen scheinen den Fehler nicht aufzuweisen.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Time[*]
kurz GMT oder auch UTC (Universal Time)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Ausdrücke[*]
Engl.: regular expressions
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Perl[*]
verbreitete Scriptsprache unter Unix
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... PCRE[*]
Perl Compatible Regular Expressions
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... aus.[*]
Hat man die Tips für guten Stil aus Kapitel 8.8.2 angewandt und sprintf() benutzt, kann man hier einfach testweise das ,s` entfernen. :-)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... SQL-Prompt[*]
Oder z.B. in PHPMyAdmin, siehe Kapitel 7.3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... JDK[*]
Java Development Kit
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... HTML-Übersicht[*]
Es ist auch möglich, die Übersicht in anderen Formaten wie PS oder PDF auszugeben ...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Klassen[*]
PHP erlaubt ja, in beschränktem Umfang, ebenfalls OOP [20]!
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Leerzeile[*]
Es sollte natürlich, wie oben beschrieben, doch ein Stern an passender Stelle stehen ...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... löschen[*]
Manche Leute behaupten, bei meinen Scripten würde nie die Löschenfunktion programmiert
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Adminseiten[*]
Bei diesem Beispiel könnte man auch fragen: Welches Layout?
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... machen[*]
Viele Leute sagen: Zum Glück
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... feststellen[*]
Normalerweise interessiert uns das auch gar nicht
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Objektorientierung[*]
Wenn auch einer, der in PHP bisher nicht konsequent umgesetzt wurde - mehr dazu später
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... DSP[*]
Könnte z.B. für Donner-schneller Pfeil stehen ;-)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... erlaubt[*]
Außer, ein solches Datum ist wiederum vom gleichen Charakter wie die Sonderaktion
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... funktioniert[*]
Die oben erwähnten static-Methoden müssen natürlich immer funktionieren
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Instanzieren[*]
Erstellen einer Instanz
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... werden[*]
Vorsicht: In PHP3 gilt eine Methode mit dem Namen einer Klasse auch dann als Konstruktor dieser Klasse, wenn sich die betreffende Methode gar nicht innerhalb dieser Klasse befindet!
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... empfohlen[*]
Noch ist es möglich, es wird aber wahrscheinlich irgendwann nicht mehr erlaubt sein
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... benutzt.[*]
Vorsicht: Die bisherigen Beispiele waren noch unvollständig!
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... wird.[*]
Wenn das auch an dieser Stelle etwas verwirrend erscheint, so sollte es doch im Folgenden klar werden.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Methode[*]
Im gesamten Ausdruck also nur ganz vorne ein Dollarzeichen. Steht hinter dem Pfeil auch ein Dollar, wird dieser Teil als variabel aufgefaßt und zuerst ersetzt!
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... verwenden.[*]
Eine implizite Referenzierung ohne Angabe eines Objekts wie in Java gibt es in PHP nicht.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... kommt[*]
man spricht daher auch von ,,Call by value`` bzw. ,,Call by reference``
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Schleifenvariante[*]
Dieser Begriff beschreibt zwar auch das, was sich von einem Schleifendurchlauf zum nächsten ändert; das ist hier aber nicht gemeint
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... behandelt[*]
Also nicht nur bei Zuweisungen, sondern auch bei Parameterübergaben an Funktionen und Methoden!
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...implementiert[*]
Implementieren, engl. to implement, heißt in diesem Zusammenhang genau das Beschriebene
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... nennt?[*]
Richtig, auch hier läßt wieder Java grüßen! :-)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Streams[*]
Wobei diese sicher trotzdem keine so zentrale Rolle spielen werden wie etwa in C++
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... werden[*]
Siehe auch die unten folgenden Beispiele
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... PHP-Image-Funktionen[*]
Spätestens hier solltest du einen Blick in das offizielle PHP-Manual werfen; dort gibt es ein Liste aller Image-Funktionen samt Syntax.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... sein.[*]
Mit PHP 5 wird standardmäßige Referenzsemantik für Objekte eingeführt, so daß sich dann das folgende zumindest teilweise erübrigt
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... identifiziert.[*]
Für komplexere Systeme gibt es zudem die Möglichkeit, Sessions zu gruppieren, indem verschiedene Sessionnamen vergeben werden. Mehr dazu weiter unten.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Cookie[*]
Cookies sind Variablen mit Werten, die zwischen Server und Client (Browser) ausgetauscht werden.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Probleme[*]
Manche Browser (oder deren User) nehmen keine Cookies an
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... ID[*]
Die Session-ID ist ein md5-verschlüsselter Zufallswert. Die Chance, ihn zu erraten, ist $ 1 : 2^{128}$
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Felder[*]
Im Beispiel heißt die Session ,,PHPSESSID``, das muß aber nicht immer so sein
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Nicht-UNIX-Systemen[*]
Standard: /tmp/
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...session_register [*]
Nimmt beliebig viele Parameter entgegen
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... zurückgibt[*]
Setzen kann man den Sessionnamen, indem man derselben Funktion einen String als Parameter übergibt. Ein solcher Aufruf muß logischerweise immer vor dem ersten Benutzen/Manipulieren der Session gemacht werden.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Array[*]
Bei einem richtigen Onlineshop würden die Produkte mit Sicherheit aus einer Datenbank kommen
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... XML-Dokumenten[*]
http://www.w3.org/XML/
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... umgetauft.[*]
In dieser neue Sprach- ,,Version`` muß man sich übrigens strikt an die XML-Regeln halten, also alle Tags schließen, ihre Namen klein schreiben und Attributwerte in doppelte Anführungszeichen einschließen!
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... SAX[*]
Simple API for XML
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... PEAR[*]
PHP Extension and Application Repository
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Syntax-Highlighting[*]
farbliche Hervorhebung in Abhängigkeit der Bedeutung. Z.B. Text in Anführungszeichen wird grün gefärbt, reservierte Wörter in dunkelrot.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... PNG-Format[*]
Die GD-Lib, die von den Image-Funktionen benutzt wird, unterstützt das GIF-Format aus lizenzrechtlichen Gründen nicht mehr
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.