Browsererkennung mit automatischer Weiterleitung auf die entsprechende Website

neom44

Grünschnabel
Hallo,

ich bin absoluter php-neuling. Ich habe im Netz nach einer Browsererkennung gesucht, mit der ich dann auf die, für den jeweiligen Browser angelegte Website, weiterleiten kann. Eigentlich möchte ich nur zwischen Firefox- und Internet Explorer-Version unterscheiden, wobei alle anderen Browser auf die websitenversion für den Internet Explorer weitergeleitet werden sollen.
Diesbezüglich habe ich folgenden Code gefunden:
http://www.inside-php.de/scripte/PHP-Code Ausschnitte-17/Browser-Erkennung.html
Wie kann ich den code umschreiben und eine weiterleitung ohne verzögerung einbauen?

Grüße
nEOm
 
Als erstes solltest du $HTTP_USER_AGENT durch $_SERVER['HTTP_USER_AGENT'] ersetzen, damit es [phpf]register_globals[/phpf] tauglich wird.

Weiterhin kannst du in der passenden Stelle die [phpf]header[/phpf] Funktion für eine Weiterleitung verwenden.
 
Hi,

danke erstmal!
Ist das die richtige Funktion für die Weiterleitung?:
header("Location: http://www.example.com/");
Wo muss denn das mit dem header hin? An die Stelle von z.B:
$browser = "Opera $regs[2]";
?
Wenn ich es an diese Stelle packe, passiert gar nichts.

Muss ich ein 'then' einfügen? Und was kann aus dem Code noch entfernt werden?

Irgendwie funktioniert das mit dem header() auch nicht ... hab das mal separat ausprobiert:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Unbenanntes Dokument</title>
</head>
<body>

<?php header("Location: http://www.example.de/");?>

</body>
</html>

Gruß
nEOm
 
Zuletzt bearbeitet:
Der header Befehlt ist korekt. Hast du denn überhaupt einen Webserver mit PHP laufen ? Sonst könnte ich mir nicht vorstellen, warum es nicht funktionieren sollte !

Und ja es muss dann an diese Stelle.
 
Hi Sebastian,

ich versteh ja auch nicht warum nix passiert. Wenn ich die Testseite öffne, dann bleibt er einfach stehen.
Der Server unterstützt php ... hab da auch ein phpBB2-Forum drauf.

Noch eine Idee?

Gruß
nEOm
 
Vor Benutzung von [phpf]header[/phpf] darf keine Ausgabe an den Browser gesendet werden (HTML Code z. B.).
Ist dies unumgänglich, sollte man sich einmal die Funktionen zur Ausgabesteuerung anschauen.

Ansonsten kann es auch helfen, [phpf]error_reporting[/phpf] auf E_ALL zu stellen, um mögliche Fehlerquellen zu finden.
 
Hab davor keine Ausgabe an den Browser gesendet.

hab jetzt mal die Testseite für den header auf nen anderen Server gepackt ... da bringt er mir dann eine fehlermeldung:
Warning: Cannot modify header information - headers already sent by (output started at /srv/www/htdocs/web151/html/test2.php:10) in /srv/www/htdocs/web151/html/test2.php on line 10


Nochmal code der Testseite für den header:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Unbenanntes Dokument</title>
</head>
<body>

<?php header("Location: http://www.example.de/");?>

</body>
</html>


Gruß
nEOm
 
Zurück