Moin Leute,
hab ein Problem bei meinem Versuch meine Seite dynamisch auf 2 Sprachen anzeigen zu lassen.
Zunächst mal die relevanten Codeteile:
frontendHandler.php
main.php
lang.en.php
Bis hierhin ist alles kein Problem und funktioniert genauso wie es sollte.
Mein Problem tritt auf, wenn ich die Sprache bei einer dynamisch reingeladenen Seite ändern will.
frontendHandler.php
home.php
Der Fehler der nun auftritt:
Undefined variable: lang in C:\xampp\htdocs\Template\backend\home.php
Nun ist meine Frage, wie ich das fixen kann.
Ich bin mittlerweile echt ratlos, meiner Meinung nach müsste es funktionieren,
da ich genau die selbe Logik in main.php und home.php verwende,
es allerdings lediglich in der main funktioniert.
Ich hoffe ihr könnt mir helfen,
MfG Brainshaker
hab ein Problem bei meinem Versuch meine Seite dynamisch auf 2 Sprachen anzeigen zu lassen.
Zunächst mal die relevanten Codeteile:
frontendHandler.php
PHP-Code:
if(isset($_GET['lang']))
{
$lang = $_GET['lang'];
$_SESSION['lang'] = $lang;
setcookie("lang", $lang, time() + (3600 * 24 * 30));
}
else if(isset($_SESSION['lang']))
{
$lang = $_SESSION['lang'];
}
else if(isset($_COOKIE['lang']))
{
$lang = $_COOKIE['lang'];
}
else
{
$lang = 'en';
}
switch($lang){
case 'en':
$lang_file = 'lang.en.php';
break;
case 'de':
$lang_file = 'lang.de.php';
break;
default:
$lang_file = 'lang.en.php';
}
include_once 'languages/'.$lang_file;
PHP-Code:
<?php
include_once("./frontendHandler.php");
session_start();
?>
[...]
<div id="lang">
<a href="main.php?page=home&lang=de"><img src="res/flag-german.jpg"></a><br>
<a href="main.php?page=home&lang=en"><img src="res/flag-uk.jpg"></a>
</div>
[...]
<a href="main.php?page=home"><li id="home"><?php echo $lang['MENU_HOME']; ?></li></a>
PHP-Code:
<?php
$lang = array();
[...]
$lang['MENU_HOME'] = 'Home';
$lang['MENU_NEWS'] = 'News';
usw.
Mein Problem tritt auf, wenn ich die Sprache bei einer dynamisch reingeladenen Seite ändern will.
frontendHandler.php
PHP-Code:
function getPage(){
global $page;
switch($page){
case "home":
include("backend/home.php");
break;
case [...]
}
}
PHP-Code:
<?php
include_once("./frontendHandler.php");
?>
[...]
<h1 id="headline"><?php echo $lang['PAGE_HOME']; ?></h1>
[...]
Undefined variable: lang in C:\xampp\htdocs\Template\backend\home.php
Nun ist meine Frage, wie ich das fixen kann.
Ich bin mittlerweile echt ratlos, meiner Meinung nach müsste es funktionieren,
da ich genau die selbe Logik in main.php und home.php verwende,
es allerdings lediglich in der main funktioniert.
Ich hoffe ihr könnt mir helfen,
MfG Brainshaker
Kommentar