Browserweiche

habe jetzt schon halb google nach einer funktionierenden browserweiche durchsucht…

if(eregi("opera",$HTTP_USER_AGENT)) { echo "Browser: Opera"; } elseif(eregi("firefox",$HTTP_USER_AGENT)) { echo "Browser: Firefox"; } elseif(eregi("phoenix",$HTTP_USER_AGENT)) { echo "Browser: Phoenix"; } if(eregi("msie",$HTTP_USER_AGENT)) { echo "Browser: Internet Explorer"; } else { echo "Es wird ein anderer Browser verwendet"; }

allerdings unterscheidet er bei mir nicht zwischen IE und Firefox. Wenn ich mir per $browser = getenv('HTTP_USER_AGENT'); echo "$browser";
ausgeben lasse, wird bei firefox
Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.2 (de) (TL-FF) angezeigt und bei IE
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506)

kann mir jmd sagen wo das problem liegt?

lg julian

[quote]Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.2 (de) (TL-FF) angezeigt und bei IE
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506)[/quote]
Und wo ist das bitte gleich ?

MSIE 7.0 IE
Firefox/3.0.2 FF

Er zeigt’s doch an.

mfg

ich nehme an er meint weil am anfang bei beiden Mozilla steht

muss zu

geändert werden.

ich weiß nicht ob das bei bplaced einfach so klappt.
aber statt $HTTP_USER_AGENT ist es besser $_SERVER[‘HTTP_USER_AGENT’] zu verwenden.

Bsp.:

mfg Balmung

ja richtig, wie Balmung sagt ist hier $_SERVER[‘HTTP_USER_AGENT’] zu verwenden, da register_globals auf off ist.

bei firefox würde ich auch nicht nach firefox suchen, sondern nach gecko, damit werden alle browser die die gecko engine verwenden (also Mozilla, SeaMonkey, Firefox …), das kommt aber darauf an wie du es nutzen willst, als css browserweiche kannste nach gecko suchen, wenn du nur als anzeige oder so nehmen willst ist es egal

Und ich würde auf eine Browserweiche per JS/PHP möglichst verzichten… Immerhin kann mittlerweile jeder zweite Browser den UA so verändern, wie er will.

Also mal grundsätzlich: wofür brauchst Du das Ding?

[quote=“i.deFix”]
Also mal grundsätzlich: wofür brauchst Du das Ding?[/quote]

Das frag ich mich auch…

hab bis jetzt noch keine zeit gehabt ne css fürn internet explorer zu machen und weil die seite komplett anders dargestellt wird im IE will ich IE nutzer vorerst umleiten…

Da sich der MSIE selbst ja eigentlich als Mozilla ausgibt und
sich diverse andere browser wiederum als MSIE tarnen, der sich
als Mozilla tarnt, sollte man die Anzeige schlichtweg nicht von
HTTP_USER_AGENT abhängig machen, da stehen letztlich doch
nur Märchen drin ;o)

Wenn dein (X)HTML ordentlich strukturiert ist, kannst du einfach
per ‘conditional comments’ eine weitere CSS-Datei für den
MSIE anbieten, wo dann entweder zumindest der Inhalt wieder
zugänglich gemacht wird oder aber die vorherigen CSS-Angaben
wieder rückgängig gemacht werden, dann sollte die Seite auch
mit dem MSIE wieder funktionieren.
Bei eigentlich allen sonstigen browsern kann der Nutzer ohnehin
problemlos CSS abschalten und bekommt damit dann die
Stilvorlage des browsers zu sehen und sollte keine weiteren
Probleme mit dem Zugang zum Inhalt haben.

Wenn es “nur” eine Umleitung werden soll, kannst Du ebenfalls conditional comments nutzen.
Wie das genau funktioniert, siehe hier: cssprofi.bplaced.net/tricks.html#browser