Damit lassen sich die Informationen abrufen:
PHP:
$_SERVER['HTTP_USER_AGENT']
So sähe die Ausgabe
z. B. aus:
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040803 Firefox/0.9.3
Diese Info ist aber überfüllt und wirkt unübersichtlich. Mittels strpos kann man aber das ausgeworfene auf einen bestimmten Teil absuchen und ein echo auswerfen lassen. Das könnte so aussehen: die Variable $user_agent muss erst vordefiniert werden:
PHP:
$user_agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';
Und jetzt zur eigentlichen Echo Ausgabe:
PHP:
if(strpos($user_agent, 'Opera') !== false) { echo 'Sie verwenden Opera.'; }
In der ersten Zeile wird die ganze Ausgabe nach "Opera" abgesucht und bei einem Treff wird das echo ausgegeben. Möchte man das gleiche für den Internet Exporer machen fügt man der Funktion folgendes bei:
PHP:
elseif(strpos($user_agent, 'MSIE') !== false) { echo 'Sie verwenden den Internet Explorer.'; }
Es wird Nicht nach Internetexporer gesucht sondern nach MSIE, weil das im String so ausgeworfen wird.
Man kann auch nach Versionsnummern unterscheiden. Dabei wird einfach dahinter 7.0 oder 6.0 (...) je nach dem:
PHP:
elseif(strpos($user_agent, 'MSIE 6.0') !== false) { echo 'Sie verwenden den Internet Explorer 6.0, bitte aktualisieren sie auf die neueste Version.'; }
So kann man alle gängigen Browser hinzufügen. Sollte mal ein Browser nicht dabei sein, muss man auch eine else-Ausgabe definieren, also falls gar nix der definierten Begriffe gefunden wird:
PHP:
else { echo 'Sie verwenden einen von mir nicht getesteten Browser.'; }
Ich verwende das, um meinen Besuchern gleich auf der ersten Seite zu sagen, ob meine Seite mit ihren Browser richtig angezeigt wird oder nicht. Für den IE gibt es ja die speziellen Tags die nur der IE anzeigt, mit diesem Script kann man das auf für den Firefox beschränken und eine eigene Info ausgeben lassen.
Hier mal der ganze Code im Überblick: Ich habe "Sie verwenden " geschrieben und dahinter werden die echos ausgegeben, also nicht wundern warum die echos so komisch anfangen.
PHP:
<?php $user_agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : ''; if(strpos($user_agent, 'Opera') !== false) { echo 'Opera. Mit diesem Browser wird die Seite richtig und fehlerfrei dargestellt.'; } elseif(strpos($user_agent, 'Firefox') !== false) { echo 'Mozilla Firefox. Mit diesem Browser wird die Seite richtig und fehlerfrei dargestellt.'; } elseif(strpos($user_agent, 'MSIE 7.0') !== false) { echo 'den Internet Explorer 7. Die Seite wird fehlerfrei dargestellt, aber das Design weicht ab. Ich empfehle Ihnen, Mozilla Firefox oder Opera zu verwenden.'; } elseif(strpos($user_agent, 'MSIE 6.0') !== false) { echo 'den Internet Explorer 6. Es kann zu Fehlern in der Darstellung kommen, bitte aktualisieren sie ihren Browser auf die aktuellste Version.'; } else { echo 'einen unbekannten Browser. Die Seite wird wohlmöglich nicht fehlerfrei und richtig dargestellt. Ich empfehle Ihnen, Mozilla Firefox oder Opera zu verwenden.'; } ?>
Liebe Güßre aus Bremerhaven
A. Lörbs