Seite in mehreren Sprachen

  • Themenstarter Themenstarter Manstein
  • Beginndatum Beginndatum
M

Manstein

Hallo,

ich sitze gerade an einer Lösung, dem User auf jeder Seite die Möglichkeit zu geben, die Seitensprache zu ändern ohne dabei auf die Startpage geworfen zu werfen:
Code:
<?php
session_save_path("./session");
session_start();
require ("lang/lang_$Lang.php");

if (!isset($_SESSION['Id'])) {
	include ("includes/session.php");
}
if (!isset($SESSION['Lang'])) {
	$SESSION['Lang'] = "$de";
}
if ($de=$de){
	$_SESSION['Lang'] = "$de";
}
if ($en) {
	$_SESSION['Lang'] = "$en";
}
if ($lux) {
	$_SESSION['Lang'] = "$lux";
}


?>
<link rel="stylesheet" type="text/css" href="style.css"/>
<a href="<? echo ''.$PHP_SELF.'?de='.de.''?>">Deutsch</a><br>
<a href="<? echo ''.$PHP_SELF.'?en='.en.''?>">English</a><br>
<a href="<? echo ''.$PHP_SELF.'?blatt='.blatt.''?>">Blatt</a><br>

<head>
	<title><?php echo PAGE_TITLE; ?></title>
</head>
<table>
	<tr>
		<td><?php echo WELCOME; ?></td>
	</tr>
	<tr>
		<td><?php echo WELCOME_TEXT; ?></td>
	</tr>
</table>

Allerdings muss man nun zweimal auf den Link drücken, damit sich die Sprache ändert. Wie bekomm ichs hin, dass die Sprache sich bereits beim ersten Klick ändert?

Danke im Vorraus
 
Ich würde mal sagen es liegt daran, dass $SESSION['Lang'] erst nach dem einbinden der Datei festgelegt wird.
Versuchs mal so:
Code:
<?php
session_save_path("./session");
session_start();

if (!isset($_SESSION['Id'])) {
	include ("includes/session.php");
}
if (!isset($SESSION['Lang'])) {
	$SESSION['Lang'] = "$de";
}
if ($de=$de){
	$_SESSION['Lang'] = "$de";
}
if ($en) {
	$_SESSION['Lang'] = "$en";
}
if ($lux) {
	$_SESSION['Lang'] = "$lux";
}

require ("lang/lang_$Lang.php");

?>
<link rel="stylesheet" type="text/css" href="style.css"/>
<a href="<? echo ''.$PHP_SELF.'?de='.de.''?>">Deutsch</a><br>
<a href="<? echo ''.$PHP_SELF.'?en='.en.''?>">English</a><br>
<a href="<? echo ''.$PHP_SELF.'?blatt='.blatt.''?>">Blatt</a><br>

<head>
	<title><?php echo PAGE_TITLE; ?></title>
</head>
<table>
	<tr>
		<td><?php echo WELCOME; ?></td>
	</tr>
	<tr>
		<td><?php echo WELCOME_TEXT; ?></td>
	</tr>
</table>
 
Jo, danke, das war es.

Manchmal sieht mn vor lauter Bäumen den Wald nicht, auf alle Fälle nochmal: Vielen Dank!
 
Wenn du das in den Header stellst, dann ist die Sprachvariable bzw. die Variablen die du mitgibst automatisch überall verfügbar - auch in anderen Unterdokumenten
 
PHP:
if ($de=$de){
	$_SESSION['Lang'] = "$de";
}
Vergleich von 2 Variabeln macht man immer mit 2 Gleichzeichen.
PHP:
if ($de==$de){
	$_SESSION['Lang'] = "$de";
}
 
PHP:
if ($de=$de){
	$_SESSION['Lang'] = "$de";
}
Vergleich von 2 Variabeln macht man immer mit 2 Gleichzeichen.
PHP:
if ($de==$de){
	$_SESSION['Lang'] = "$de";
}
 
Also müsste ich es nur auf der Ersten Php.Seite einfügen dann bekomme ich evt auch die ganzen Flagge Bzw Sprachen

erstell dir eine header.php und binde die in die index.php ein (in welcher du wahrscheinlcih weiter eincludes hast) und gut is...
in die header.php kannst du auch metatags, title header und so kram schreiben.. is recht nützlich, so muss man das nicht tausendmal machen.
 
ich bin jetzt noch in der schule wenn ich später daheim bin dann melde ich mich ob es geklappt trotzdem vielen dank
 
Zuletzt bearbeitet:
Zurück