Etwas nützliches
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'].
Hinweis:
$_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 finden 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. Beginnend mit PHP 5.4.0 wurden diese älteren Variablen entfernt. (Beachten Sie auch die Seite Alten Code mit neuen PHP-Versionen benutzen.)
Um die Variable auszugeben, schreiben Sie einfach:
Beispiel #1 Variable ausgeben (Array-Element)
<?php
echo $_SERVER['HTTP_USER_AGENT'];
?>
Die Ausgabe dieses Beispiels könnte so aussehen:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
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 Beispiel, das Kontrollstrukturen und Funktionen benutzt
<?php
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
echo "Sie benutzen Microsofts Internet Explorer.<br />";
}
?>
Die Ausgabe dieses Skripts könnte so aussehen:
Sie benutzen Microsofts Internet Explorer.<br />
Hier haben wir Ihnen eine ganze Reihe von neuen Konzepten vorgestellt. Wir haben hier zuerst eine if-Anweisung. Wenn Sie mit der Grundlagen-Syntax 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 Heuhaufen 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, 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:
Beispiel #3 HTML- und PHP-Modus vermischt
<?php
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
?>
<h3>strpos() hat nicht FALSE zurückgegeben</h3>
<p>Sie benutzen Internet Explorer</p>
<?php
} else {
?>
<h3>strpos() hat FALSE zurückgegeben</h3>
<p>Sie benutzen nicht Internet Explorer</p>
<?php
}
?>
Die Ausgabe dieses Skripts könnte so aussehen:
<h3>strpos() hat nicht FALSE zurückgegeben</h3> <p>Sie benutzen Internet Explorer</p>
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 strpos() zurückgibt bzw. ob der String MSIE gefunden wird oder nicht.
Deutsche Übersetzung
Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.
Vielen Dank im Voraus.
Dokument erstellt 30/01/2003, zuletzt geändert 26/10/2018
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/php-rf-tutorial.useful.html
Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.
Referenzen
Diese Verweise und Links verweisen auf Dokumente, die während des Schreibens dieser Seite konsultiert wurden, oder die zusätzliche Informationen liefern können, aber die Autoren dieser Quellen können nicht für den Inhalt dieser Seite verantwortlich gemacht werden.
Der Autor Diese Website ist allein dafür verantwortlich, wie die verschiedenen Konzepte und Freiheiten, die mit den Nachschlagewerken gemacht werden, hier dargestellt werden. Denken Sie daran, dass Sie mehrere Quellinformationen austauschen müssen, um das Risiko von Fehlern zu reduzieren.