Kommen wir nun zu einem etwas nützlicheren Beispiel. Wir wollen prüfen,
welchen Browser der Besucher benutzt.
Um das zu tun, prüfen wir den "user agent"-String, den der Browser
als Teil seiner HTTP-Anforderung sendet. Diese Information ist in einer
Variablen abgelegt. In PHP
beginnen Variablen immer mit einem Dollar-Zeichen. Die Variable, die
uns jetzt interessiert, ist $_SERVER['HTTP_USER_AGENT']
.
Anmerkung: $_SERVER ist eine speziell reservierte PHP-Variable, die alle Informationen über den Webserver enthält. Diese Variable wird auch als superglobal bezeichnet. Mehr Informationen darüber Sie auf der Manual-Seite über Superglobals. Diese speziellen Variablen wurden in PHP 4.1.0 eingeführt. Vorher wurden stattdessen die älteren
$HTTP_*_VARS
-Arrays benutzt, also z.B.$HTTP_SERVER_VARS
. Auch wenn diese Variablen nicht mehr genutzt werden sollen - sie existieren weiterhin. (Beachten Sie auch die Seite Alten Code mit neuen PHP-Versionen benutzen.)
Um die Variable auszugeben, schreiben Sie einfach:
Es gibt viele Typen von Variablen. Im obigen Beispiel haben wir ein Array-Element ausgegeben. Arrays können sehr nützlich sein.
$_SERVER
ist nur eine von vielen Variablen, die
Ihnen automatisch von PHP zur Verfügung gestellt werden. Eine Liste
finden Sie auf der Seite Reservierte
Variablen im Manual. Eine vollständige Liste können Sie auch
bekommen, wenn Sie sich die Ausgabe der
phpinfo()-Funktion ansehen, die im Beispiel des
vorigen Abschnitts benutzt wurde.
Sie können mehrere PHP-Anweisungen innerhalb eines PHP-Tags platzieren und so kleine Code-Blöcke schreiben, die mehr als nur eine Ausgabe mit echo() enthalten. Wenn wir zum Beispiel prüfen möchten, ob es sich beim Browser des Besuchers um den Internet Explorer handelt, können wir folgenden Code benutzen:
Beispiel 2-4. Beispiel, das Kontrollstrukturen und Funktionen benutzt
Die Ausgabe dieses Skripts könnte so aussehen:
|
Hier haben wir Ihnen eine ganze Reihe von neuen Konzepten vorgestellt. Wir haben hier zuerst eine if-Anweisung. Wenn Sie mit der Grundlagen-Syntax von der Programmiersprache C vertraut sind, sollte Ihnen dies logisch erscheinen. Andernfalls sollten Sie sich ein Buch mit einer PHP-Einführung besorgen und die ersten Kapitel lesen. Sie können natürlich auch in die Sprachreferenz des Manuals schauen.
Das zweite hier vorgestellte Konzept ist der Aufruf der Funktion
strpos(). strpos ist eine
in PHP eingebaute Funktion, die nach einem String in einem anderen
String sucht. In diesem Fall suchen wir nach 'MSIE'
(die so genannte Nadel, engl. needle) in
$_SERVER['HTTP_USER_AGENT']
(der so genannte
Heuhaufen, engl. haystack). Wenn die Nadel im Hauhaufen gefunden
wird, gibt die Funktion die Position der Nadel relativ zum Start
des Heuhaufens zurück. Andernfalls wird FALSE zurückgegeben.
Wenn nicht FALSE zurückgeben wird, wird die if-Anweisung
zu TRUE ausgewertet und der Code innerhalb der geschweiften Klammern
wird ausgeführt. Andernfalls wird der Code innerhalb der Klammern
nicht ausgeführt. Probieren Sie weitere
ähnliche Beispiele mit if,
else und anderen
Funktionen wie strtoupper() oder
strlen(). Jede dieser Manual-Seiten enthält
weitere Beispiele. Wenn Sie unsicher sind, wie die Funktionen
benutzt werden, dann lesen Sie die Handbuch-Seite Wie sind Funktionsdefinitionen
(Prototypen) zu lesen? und den Abschnitt zu den
PHP-Funktionen.
Wir können jetzt einen Schritt weitergehen und sehen, wie Sie innerhalb eines PHP-Blocks den PHP-Modus verlassen und wieder in ihn hinein gelangen können:
Anstatt die PHP echo-Anweisung für die Ausgabe zu benutzen, haben wir den PHP-Modus verlassen und normales HTML verwendet. Der wichtige Punkt hierbei ist, dass der logische Ablauf des Skripts dadurch nicht gestört wird. Nur einer der beiden HTML-Blöcke wird ausgegeben - abhängig davon, was strstr() zurückgibt bzw. ob der String MSIE gefunden wird oder nicht.
Zurück | Zum Anfang | Weiter |
Ihre erste PHP-erweiterte Seite | Nach oben | Formulare verarbeiten |