Browser-Weiche
am 31.08.2006 12:07:09 von Marco Appoldt
Hallo!
Ich versuche, eine Browserweiche für ein Stylesheet zu programmieren und
komme nicht weiter.
Wenn der u.a. Code ausgeführt wird, verzweigt er immer in den
'else'-Zweig, auch wenn ich den IE verwende.
----------------------------------------------
if(eregi('msie',$HTTP_USER_AGENT))
{
echo "Browser: Internet Explorer";
}
else
{
echo "Browser: what ever.";
}
?>
----------------------------------------------
Kann mir jemand den entscheidenden Tipp geben?
Danke.
--
Grüße
Marco
Re: Browser-Weiche
am 31.08.2006 12:20:16 von newsonly2
Di dalam de.comp.lang.php.misc Marco Appoldt menulis sebagai berikut:
Hi Marco,
> if(eregi('msie',$HTTP_USER_AGENT))
$_SERVER['HTTP_USER_AGENT'] sollte besser funktionieren.
Und statt eregi tut auch stristr().
Lg,
Olly
Re: Browser-Weiche
am 31.08.2006 13:46:08 von Marco Appoldt
Am 31.08.2006 12:20 schrieb Oliver C. Thornton:
> $_SERVER['HTTP_USER_AGENT'] sollte besser funktionieren.
>
> Und statt eregi tut auch stristr().
Hallo!
Nö. Grundsätzlich bringt er keine Fehlermeldung aber trotzdem verzweigt
er immernoch in den 'else'-Zweig.
-----------------------------------------------
if(stristr('MSIE',$_SERVER['HTTP_USER_AGENT']))
{
echo "Browser: Internet Explorer
";
}
else
{
echo "Browser: what ever.
";
}
echo $_SERVER['HTTP_USER_AGENT']
?>
-----------------------------------------------
Ich dachte schon, dass es an meiner lokalen PHP-Installation liegt aber
auf dem Server bei meinem Provider ist es auch nicht anders als oben
beschrieben.
--
Grüße
Marco
Re: Browser-Weiche
am 31.08.2006 14:01:04 von dev-null-use-reply-adress
Marco Appoldt schrieb:
> Am 31.08.2006 12:20 schrieb Oliver C. Thornton:
>
>> $_SERVER['HTTP_USER_AGENT'] sollte besser funktionieren.
>>
>> Und statt eregi tut auch stristr().
>
> Nö. Grundsätzlich bringt er keine Fehlermeldung aber trotzdem verzweigt
> er immernoch in den 'else'-Zweig.
Logisch.
> if(stristr('MSIE',$_SERVER['HTTP_USER_AGENT']))
Du möchtest Dich nochmal im Manual über die Funktion
stristr() informieren. ;-)
http://de.php.net/stristr
Am sinvollsten für solche einfachen Suchvorgänge ist
übrigens strpos().
http://de.php.net/strpos
Zu Deinem ersten Versuch mit eregi():
8.2. Soll ich ereg() oder preg() verwenden?
http://www.php-faq.de/q/q-regexp-ereg.html
Und noch zu $HTTP_USER_AGENT:
11.20. Warum funktionieren meine Formulare nicht?
http://www.php-faq.de/q/q-formular-register-globals.html
Gruß
JPM
Re: Browser-Weiche
am 31.08.2006 14:51:45 von Marco Appoldt
Am 31.08.2006 14:01 schrieb Jens Peter Moeller:
> Du möchtest Dich nochmal im Manual über die Funktion
> stristr() informieren. ;-)
Habe ich getan. :-)
> Am sinvollsten für solche einfachen Suchvorgänge ist
> übrigens strpos().
> http://de.php.net/strpos
Danke. Hat jetzt geklappt.
--
Grüße
Marco
Re: Browser-Weiche
am 31.08.2006 15:00:35 von unknown
Post removed (X-No-Archive: yes)
Re: Browser-Weiche
am 31.08.2006 15:09:37 von Joerg Behrens
Marco Appoldt schrieb:
> Am 31.08.2006 14:01 schrieb Jens Peter Moeller:
>
>
>> Du möchtest Dich nochmal im Manual über die Funktion
>> stristr() informieren. ;-)
>
> Habe ich getan. :-)
PHPs Funktionen und die Reihenfolge der Parameter, gell?
Grus
Joerg
--
TakeNet GmbH http://www.takenet.de
97080 Wuerzburg Tel: +49 931 903-2243
Alfred-Nobel-Straße 20 Fax: +49 931 903-3025
Re: Browser-Weiche
am 31.08.2006 15:48:14 von Ulf Kadner
Marco Appoldt wrote:
> Ich versuche, eine Browserweiche für ein Stylesheet zu programmieren und
> komme nicht weiter.
Dazu ist PHP aber auf jeden Fall die schlechtere Wahl!
Das was Dir da $_SERVER['HTTP_USER_AGENT'] liefert hat oft nichts mit
dem Browser zu tun der dahinter steht.
Mein Mozilla sendet z.B. immer:
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; de)
Mein Opera sendet:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en)
Das was Du da umsetzen willst wird im Normalfall durch die Ausnutzung
von Browserbugs in der CSS-Implementierung bzw. Proprietären
Browserfeatures erreicht.
Wenn Du etwas spezielles für IE einbinden willst, so geschieht das im
allgemeinen über 'conditional comments' die nur der IE beherrscht.
Beispiel:
Google hat da mehr zu Parat
MfG, Ulf