BlackBoard (http://www.black-board.net/index.php)
- Design, Programmierung & Entwicklung (http://www.black-board.net/board.php?boardid=55)
-- Webdesign (http://www.black-board.net/board.php?boardid=19)
--- PHP Browserabhängige Weiterleitung (http://www.black-board.net/thread.php?threadid=22643)


Geschrieben von newbi am 23.11.2006 um 20:05:

  Browserabhängige Weiterleitung

Also ich möchte bei meiner Website eine Startseite erstellen, welche den IE in jeder Form auf Seite 1 Linkt und alle anderen Browser auf Seite 2.

Das ganze soll wohl mit dem Header gehen, konnte aber bei Google nicht ganz fündig werden, entweder wird Sprache oder so ermittelt, oder es wird etwas mit Java und Konsorten gemacht. Auch Selfphp konnte mir nicht helfen.

Es ist für mich sehr wichtig, dass ich den IE von den anderen Browsern trenne, da er anscheined als einziger Probleme hat, meine Website darzustellen. Ich halte mich an die neuen Standarts wie CSS 2, aber der IE tut es anscheined nicht, zumindest nicht richtig.

Habe mal ne Browsererkennung gefunden:

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
if( eregi("(opera) ([0-9]{1,2}.[0-9]{1,3}){0,1}",$HTTP_USER_AGENT,$regs) || eregi("(opera/)([0-9]{1,2}.[0-9]{1,3}){0,1}",$HTTP_USER_AGENT,$regs))
{
    $browser "Opera $regs[2]";
}
else if( eregi("(msie) ([0-9]{1,2}.[0-9]{1,3})",$HTTP_USER_AGENT,$regs) )
{
    $browser "MSIE $regs[2]";
}
else if( eregi("(konqueror)/([0-9]{1,2}.[0-9]{1,3})",$HTTP_USER_AGENT,$regs) )
{
    $browser "Konqueror $regs[2]";
}
else if( eregi("(lynx)/([0-9]{1,2}.[0-9]{1,2}.[0-9]{1,2})",$HTTP_USER_AGENT,$regs) )
{
    $browser "Lynx $regs[2]";
}
else if( eregi("(netscape6)/(6.[0-9]{1,3})",$HTTP_USER_AGENT,$regs) )
{
    $browser "Netscape $regs[2]";
}
else if( eregi("mozilla/5",$HTTP_USER_AGENT) )
{
    $browser "Netscape";
}
else if( eregi("(mozilla)/([0-9]{1,2}.[0-9]{1,3})",$HTTP_USER_AGENT,$regs) )
{
    $browser "Netscape $regs[2]";
}
else if( eregi("w3m",$HTTP_USER_AGENT) )
{
    $browser "w3m";
}
else
{
    $browser "?";
}


doch ich weiß noch immer nicht, wie ich jetzt zu Seite XXX Weiterleiten kann.

mfg
Newbi



Geschrieben von LX am 23.11.2006 um 20:49:

Achtung

php:
1:
2:
3:
4:
if ( strstr 'MSIE'$HTTP_USER_AGENT ) )
    header 'Location: ie_seite.php' );
else
    header 'Location: normale_seite.php' );
Sollte in etwa so klappen.



Geschrieben von Misel am 24.11.2006 um 12:37:

Fragezeichen

Wär's nicht besser einen 301er oder 302er Redirect zumachen mit http-redirect()?



Geschrieben von LX am 24.11.2006 um 12:58:

Achtung

Das ist eine PECL-Funktion und daher nicht überall verfügbar. Macht aber auch nix:

Zitat:
Original aus der header()-Doku
Der zweite Spezialfall ist der "Location:" Header. Es wird nicht nur der Header an den Browser geschickt, sondern auch ein REDIRECT (302) Statuscode, wenn nicht bereits ein 3xx Statuscode gesendet wurde.


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH