Browserunterscheidung...
mathesen
- php
Hallo zusammen,
ich möchte eine Browserunterscheidung machen, aber komme nicht wirklich weiter. Mit dem Befehl $_SERVER["HTTP_USER_AGENT"] bekommt man ja raus welcher Browser verwendet wird. Oder ist dieser Befehl schon mal nicht so sinnvoll??
Naja auf jeden fall möchte ich eine unterscheidung machen:
<?php
echo $_SERVER["HTTP_USER_AGENT"];
if($_SERVER["HTTP_USER_AGENT"]=="Mozilla/5.......")
echo "blabla";
?>
Nur fehlt mir ein entsprechender platzhalter...
kann mir da einer weiterhelfen?
Gruß
mathesen
Hallo mathesen.
ich möchte eine Browserunterscheidung machen, aber komme nicht wirklich weiter.
Warum siehst du eine Browserunterscheidung als nötig an?
Mit dem Befehl $_SERVER["HTTP_USER_AGENT"] bekommt man ja raus welcher Browser verwendet wird.
Keineswegs. Erstens ist dies kein Befehl sondern ein Wert des vordeklarierten $_SERVER-Arrays und zweitens hat dieser Wert so gut wie keinen Aussagewert darüber, welcher Browser verwendet wurde.
Oder ist dieser Befehl schon mal nicht so sinnvoll??
Nein, ist er nicht.
Naja auf jeden fall möchte ich eine unterscheidung machen:
<?php
echo $_SERVER["HTTP_USER_AGENT"];
if($_SERVER["HTTP_USER_AGENT"]=="Mozilla/5.......")
echo "blabla";
?>
Sämtliche Variablen, die nicht von dir selbst stammen, solltest du zumindest mit [isset()](http://de2.php.net/manual/de/function.isset.php) (oder einer vergleichbaren Funktion) auf Existenz prüfen, so kannst dich gegen den Fall wappnen, in dem diese Variable nicht gesetzt ist bzw. keinen Wert enthält.
> Nur fehlt mir ein entsprechender platzhalter...
Wenn du nach bestimmten Mustern suchen möchtest, bieten sich [stristr()](http://de2.php.net/manual/de/function.stristr.php) oder [reguläre Ausdrücke](http://de2.php.net/manual/de/ref.pcre.php) an.
Einen schönen Samstag noch.
Gruß, Ashura
--
[The End of an Era...](http://www.nightwish.com/english/lettertotarjaen.html)
also ich hab eine Inet seite erstellt. Diese läuft unter Firefox einwandfrei, jedoch mit IE nicht wirklich.. Also hatte ich vor sie für den IE etwas abzuwandeln und vor dem start abzufragen ob der User IE, Firefox oder einen anderen Explorer verwendet..
Hallo mathesen.
also ich hab eine Inet seite erstellt. Diese läuft unter Firefox einwandfrei, jedoch mit IE nicht wirklich..
Wie äußert sich dies?
Welcher Natur sind die Probleme? Darstellungsfehler?
Also hatte ich vor sie für den IE etwas abzuwandeln
Bedauerlich, dass dies so oft erforderlich ist.
und vor dem start abzufragen ob der User IE, Firefox oder einen anderen Explorer verwendet..
Eine Browserweiche sollte immer das allerletzte Mittel der Wahl sein; an erster Stelle sollte stattdessen eine Fähigkeitenweiche stehen.
Je nach dem, welche Probleme der IE auf deiner Site verursacht, können hier auch andere Möglichkeiten zur Verfügung stehen, deren du dir nur noch nicht bewusst bist.
Und bedenke: selbst im IE kann man den User-Agent-String mit ein bisschen Arbeit in der Registry oder anderer Programme manipulieren. Eine Unterscheidung, ob IE oder nicht, sollte nicht anhand dieses schwachen Indizes durchgeführt werden.
Einen schönen Samstag noch.
Gruß, Ashura
Okay ich habe es hinbekommen. Ich danke euch allen.
gruß mathesen
Hallo
also ich hab eine Inet seite erstellt. Diese läuft unter Firefox einwandfrei, jedoch mit IE nicht wirklich..
Wenn ich mal deine überaus dürftigen Aussagen interpretieren darf: Es geht um CSS. Was liegt näher, als die unterschiedlichen Fähigkeiten der Browser zu nutzen, um ihnen unterschiedliche CSS-Angaben zukommen zu lassen.
Und siehe da, da findet sich bei SELFHTML eine recht umfangreiche Sammlung von CSS-Browserweichen und -hacks.
Die hättest du aber auch selbst finden können. ;-)
Also hatte ich vor sie für den IE etwas abzuwandeln und vor dem start abzufragen ob der User IE, Firefox oder einen anderen Explorer verwendet.
Wie schon von Ashura vermerkt, ist dies eine unsichere Sache. Alle Angaben, die du zu diesem Zweck auswerten kannst, kommen vom Browser. Sie können aber auch garnicht oder verändert auf deinem Server ankommen. Sie nutzen dir dann aber reinweg garnichts.
Tschö, Auge
PS: Was zum Teufel ist eine "Inet seite" und wo läuft sie hin?
echo $begrüßung;
ich möchte eine Browserunterscheidung machen, aber komme nicht wirklich weiter.
Schau doch mal, ob dir PEARs Net_UserAgent_Detect weiterhilft.
echo "$verabschiedung $name";