WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   I18N mit PHP (http://www.wcm.at/forum/showthread.php?t=125113)

blauesau 12.02.2004 10:44

I18N mit PHP
 
Hallo!

Kann mir bitte jemand die nötigen Befehle sagen, um folgendes zu bewerkstelligen: Ich möchte aus den HTTP-Headern die Spracheinstellung des Browsers auslesen und je nach gesetzter Sprache weiterleiten.

Also wenn Sprache == de.XY dann auf die deutsche und bei allen anderen Einstellungen auf die englische Version.

Wenn mir also jemand sagen kann, wie ich die Sprachinformation mit PHP aus dem Header bekomme und wie ich mittels PHP forwarde (bzw. redirect), wäre mir schon sehr geholfen.

Vielen Dank!

mfg,
bs

käptn 12.02.2004 11:46

PHP-Code:

<?php
if (preg_match('/^en/i', @$_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
  
header('Location: http...');
} else {
  
header('Location: http...');
}
?>

~

dub 12.02.2004 17:03

Welchen Sinn macht "@" vor einer Variable?

#Hannes#

blauesau 12.02.2004 23:51

Danke, das hätte ich mir ja ganz anders gedacht...

Die Funktion Header dient dazu, den HTTP-Header zu beschreiben? Gibt es keine Funktion à la redirect oder etwas ähnliches?

Bzw. gibt es eine Möglichkeit zwischen Redirect und Forward zu unterscheiden?

_m3 13.02.2004 09:12

Jam durch den Statuscode. Wirf einen Blick in die http 1.1 RFC.

Deftones 13.02.2004 11:35

Zitat:

Original geschrieben von dub
Welchen Sinn macht "@" vor einer Variable?

#Hannes#

soviel ich weis ist @ dazu da damit man fehler unterdrücken kann oder so !?

mfg
deftones

dub 13.02.2004 19:53

Dass man mit einem "@" Fehler-Ausgabe [und damit verbundene Unterbrechungen beim Ausführen des Scripts] unterbinden kann, ist klar - aber was für eine Wirkung hat das bei einer Variable bzw. einem Array?

Kann IMHO nur zur Unterbindung von eventuellen "Warings" dienen, die bei undefinierten Variablen ausgegeben werden.

#Hannes#

käptn 13.02.2004 23:14

"Fatal Errors" unterbrechen die Ausführung des Scriptes auf alle Fälle - das @ vor einer Variable ist unsauber und umgeht die Überprüfung durch isset() o.ä., und unterdrückt, wie schon gesagt, eine Fehlermeldung.

~


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:20 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag