phpbar.de logo

Mailinglisten-Archive

[php] Session-Variable umdefinieren geht nicht?

[php] Session-Variable umdefinieren geht nicht?

Karin Gerbrich php_(at)_phpcenter.de
Fri, 8 Feb 2002 18:55:38 +0100


Hallo Listies!

Ich versuch mich da gerade erstmals in Sessions, an sich funktioniert
das ja ganz gut!
Aber, wenn ich eine dieser Variablen über ein Formular umdefinieren
will, gehts nicht, keine Ahnung wo der Hund begraben sein könnte?!
Es geht darum, vorerst die BrowserSprache auszulesen und entsprechend
die Seite anzuzeigen, aber auch die Möglichkeit zu bieten, die Sprache
händisch umzustellen.
Jetzt wende ich mich mit der Bitte um Hilfe an euch, ich seh den Wald
vor lauter Bäumen schon nicht mehr!
Ich bitte jene, die Lust und Zeit dazu haben, sich folgenden Code mal
auf augenscheinliche Fehler anzusehen!

Hier der Code am Beispiel der index.php:

<?php
// Session starten und Variablen definieren
// ist im Original als Block in jede Seite included
session_start();
session_register("langflag");
session_register("lang");

// definieren des Dateinamens (ohne DateiEndung)
$page = "index";

// Auslesen der eingestellten BrowserSprache,
// nur wenn $langflag noch nicht gesetzt ist
// ist im Original als Block in jede Datei included
if ($langflag != set) {
	$lang = getenv ("HTTP_ACCEPT_LANGUAGE");
	$lang = substr ("$lang", 0, 2);
	if ($lang != de) {
		if ($lang != en)
		$lang = en;
		}
	}

// Header und Body includen
include ("inc/global/header.inc");
include ("inc/global/body1.inc");

// Händisches Um-Definieren der angezeigeten SeitenSprache
// ist im Original als Block in jede Datei included
<form action="<?php echo $page; ?>.php" method=post>
	<input type=hidden name="lang" value="de">
	<input type=hidden name="langflag" value="set">
	<input type=image src="images/deutsch.gif">
</form>
<br><br>
<form action="<?php echo $page ?>.php" method=post>
	<input type=hidden name="lang" value="en">
	<input type=hidden name="langflag" value="set">
	<input type=image src="images/english.gif">
</form>

// html-Rest includen
include ("inc/global/body2.inc");
include ("inc/$page-$lang.inc");
include ("inc/global/body.inc");
include ("inc/menu-$lang.inc");
include ("inc/global/footer.inc");
?>


Die Variable $langflag lässt sich problemlos umdefinieren (ist ja
vorher überhaupt nicht definiert) die Variable $lang lässt sich nicht
umdefinieren, diese Variable bleibt so, wie im Browser eingestellt ...

Vielleicht kann mir wer von euch die Augen öffnen?!


Liebe Grüße aus Wien
Karin


php::bar PHP Wiki   -   Listenarchive