Sessionmanagement / Spachdatei über Session wählen
kurt
- php
0 kleiner Zusatz
kurt0 Peter0 Hopsel0 Tom
Hallo,
ich möchte über eine Session die Sprachdatei einer Website aufrufen. Geht aber nicht, wer weiß, wo mein Denkfehler liegt???
index.php
include ("./session.php");
$sprache=$_SESSION['sprache'];
session.php
<?php
session_start();
if (isset($_GET['sprache'])) {
$_SESSION['sprache'] = $_GET['sprache'];
} else {
if (empty ($_SESSION['sprache'])) {
$_SESSION['sprache'] = 'deutsch';
}
}
?>
Grüße, Kurt
Natürlich muß ich einmal über den Link die z.B. die Variable füllen...aber danach springt die Seite immer wieder ins deutsche zurück???
Grüße, Kurt
Hallo,
ich möchte über eine Session die Sprachdatei einer Website aufrufen. Geht aber nicht, wer weiß, wo mein Denkfehler liegt???
index.php
include ("./session.php");
$sprache=$_SESSION['sprache'];session.php
<?php
session_start();
if (isset($_GET['sprache'])) {
$_SESSION['sprache'] = $_GET['sprache'];
} else {
if (empty ($_SESSION['sprache'])) {
$_SESSION['sprache'] = 'deutsch';
}
}?>
Grüße, Kurt
ich möchte über eine Session die Sprachdatei einer Website aufrufen. Geht aber nicht, wer weiß, wo mein Denkfehler liegt???
Das ist keine gute Idee.
Die Session-ID wird idealerweise nur per Cookie weitergereicht. Die gewählte Sprache sollte aber unbedingt ein Bestandteil der URL sein.
Dabei ist es egal, ob du das als Parameter (www.example.org/thema/seite.php?lang=de), im Verzeichnis (www.example.org/de/thema/seite.php), im Hostnamen (de.example.org/thema/seite.php) oder sonst irgendwie durchführst.
Denn der Nachteil der Sessionmethode ist: Suchmaschinen haben keine Sessions, würden also nur die Standardsprache spidern, wenn die Sprache nicht in der URL steckt. Und auch Besucher, die deine Seite in einer anderen Sprache bookmarken, müßten immer wieder die Sprache umschalten.
Ich kann mir eigentlich nicht vorstellen, dass du den ganzen Aufwand mit Wählbarkeit und Übersetzung in andere Sprachen für die Tonne machst.
Hi kurt!
wer weiß, wo mein Denkfehler liegt???
Wo rufst du session_start() auf?
MfG H☼psel
Hello,
[...] wer weiß, wo mein Denkfehler liegt???
index.php
include ("./session.php");
$sprache=$_SESSION['sprache'];
Hast Du alle Fehlermeldungen aktiviert? Auch die Notices!
Das solltest Du tun, dann würde Dir Dein Denkfehler mit ein paar Versuchen vermutlich schnell klar werden.
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom