Benni
PHP Browserweiche/-weiterleitung ohne ereg
- php
Hey Leute,
bitte euch mal um Hilfe.
Möchte eine Browserweiche, genauer gesagt -weiterleitung erstellen ... allerdings über PHP.
Habe schon den Conditional Comment <!--[if lte IE 6]><meta http-equiv="refresh" content="0; url=hallo.php" /><![endif]-->
Jetzt wird in dem Fall natürlich die aktuelle (falsche) Seite trotz "0 s" noch kurz angezeigt und erst dann folgt zu hallo.php die Weiterleitung ... das ist nervig.
Wie wandle ich - ohne ereg (deprecated), aber natürlich so, dass die Infos des Surf-Clients genutz werden - quasi den Conditional COmment in PHP um?
Danke euch schon mal.
Benni
Lieber Benni,
wenn Du PHP zur Verfügung hast, dann kannst Du mittels der header()-Funktion den Browser sofort weiterleiten. Serverseitig könntest Du den Wert für $_SERVER['HTTP_USER_AGENT'] auf passende Angaben für "Internet Explorer" auswerten... aber den UA-String kann jeder Client "faken", sodass Du vielleicht auch falsche Browser als IE behandelst (z.B. Opera).
Liebe Grüße,
Felix Riesterer.
Lieber Benni,
wenn Du PHP zur Verfügung hast, dann kannst Du mittels der header()-Funktion den Browser sofort weiterleiten. Serverseitig könntest Du den Wert für $_SERVER['HTTP_USER_AGENT'] auf passende Angaben für "Internet Explorer" auswerten... aber den UA-String kann jeder Client "faken", sodass Du vielleicht auch falsche Browser als IE behandelst (z.B. Opera).
Liebe Grüße,
Felix Riesterer.
OK, habe auch schon in die Richtung gedacht...
Nur, wie gebe ich an: "wenn kleiner als IE 6"!?
Lieber Benni,
Nur, wie gebe ich an: "wenn kleiner als IE 6"!?
laut Wikipedia möchtest Du die Zeichenkette "MSIE x.y" finden und "x.y" als Zahlenwert gegen Deine Mindestgröße prüfen.
Was willst Du eigentlich mit IE<6?? Besucher mit dieser Krücke surfen bewusst mit einem Oldtimer und wissen, dass Webseiten damit in aller Regel nicht mehr so dargestellt werden, wie es Autoren heute im Idealfall gerne hätten. Manchmal bekommen sie eine andere Darstellung vorgesetzt, mit der sich zumindest leben lässt... aber das wird dann über Conditional Comments und passenden CSS-Dateien gemacht.
function getIEVersion () {
$version = 0;
if (preg_match('~(?i)msie \d~', $_SERVER['HTTP_USER_AGENT'])) {
$version = preg_replace('~(?i).*msie (\d+\.\d+).*~', '$1', $_SERVER['HTTP_USER_AGENT']);
};
return (float) $version; // Wert ist garantiert vom Typ Gleitkommazahl
}
Kommst Du damit weiter?
Liebe Grüße,
Felix Riesterer.