Nützliches

Kommen wir nun zu einem etwas nützlicheren Beispiel . Wir wollen prüfen , welchen Browser die Person , die die Seite besucht , 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" ] .

PHP Autoglobals-Anmerkung: $_SERVER ist eine speziell reservierte PHP-Variable, die alle Informationen über den Webserver enthält. Diese Variable wird auch als auto - oder superglobal bezeichnet . Mehr Informationen darüber Sie auf der Manual-Seite über Autoglobals . 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 wir einfach :

Beispiel 2-2 . Variable ausgeben ( Array-Element )




Die Ausgabe dieses Beispiel könnte so aussehen :








Es gibt viele Typen 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 eine Datei wie die folgende erstellen :

Beispiel 2-3 . Alle vordefinierten Variablen mit phpinfo( ) ausgeben






Wenn Sie diese Datei in Ihrem Browser öffnen , sehen Sie eine Seite mit vielen Informationen über PHP zusammen mit einer Liste aller für Sie verfügbaren Variablen .

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

 
?php

 
if

 
(

 
strstr($_SERVER["HTTP_USER_AGENT"]

 
,

 
"MSIE")

 
)

 
{

 
echo

 
"Sie

 
benutzen

 
Internet

 
Explorer

 
br

 
/

 
"

 
;

 
}

 
?



Die Ausgabe dieses Skripte könnte so aussehen :

 
Sie

 
benutzen

 
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 von der Programmiersprache C vertraut sind , sollte Ihnen dies logisch erscheinen . Wenn Sie C oder eine andere Sprache , die die obige Syntax benutzt , nicht gut genug kennen , dann 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 . Eine Liste von PHP-Büchern finden Sie unter http : / /www.php.net / books.php .

Das zweite hier vorgestellte Konzept ist der Aufruf der Funktion strstr( ) . strstr ist eine in PHP eingebaute Funktion , die nach einem String in einem anderen String sucht . In diesem Fall suchen wir nach " MSIE " in $_SERVER["HTTP_USER_AGENT" ] . Wenn der String gefunden wird , gibt die Funktion TRUE zurück , wird er nicht gefunden , dann wird FALSE zurückgegeben . Wenn TRUE zurückgeben wird , wird die if -Anweisung zu TRUE Wenn TRUE zurückgeben wird , wird die if -Anweisung zu TRUE ausgewertet und der Code innerhalb der geschweiften Klammern wird ausgeführt . Wenn aber FALSE zurückgegeben wird , 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 .

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 2-5 . HTML - und PHP-Modus vermischt

 
?php

 
if

 
(

 
strstr($_SERVER["HTTP_USER_AGENT"]

 
,

 
"MSIE")

 
)

 
{

 
?

 
h3

 
strstr

 
muss

 
true

 
zurückgegeben

 
haben

 
/

 
h3

 
center

 
b

 
Sie

 
benutzen

 
Internet

 
Explorer

 
/

 
b

 
/

 
center

 
?php

 
}

 
else

 
{

 
?

 
h3

 
strstr

 
muss

 
false

 
zurückgegeben

 
haben

 
/

 
h3

 
center

 
b

 
Sie

 
benutzen

 
nicht

 
Internet

 
Explorer

 
/

 
b

 
/

 
center

 
?php

 
}

 
?



Die Ausgabe dieses Skripts könnte so aussehen :

 
h3

 
strstr

 
muss

 
true

 
zurückgegeben

 
haben

 
/

 
h3

 
center

 
b

 
Sie

 
benutzen

 
Internet

 
Explorer

 
/

 
b

 
/

 
center







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 , ob strstr( ) TRUE oder FALSE zurückgibt bzw . ob der String MSIE gefunden wird oder nicht .