Vars binnen en buiten functie
Ik ben bezig met het maken van een klein CMS'je en stoot op het volgende probleem: Ik wil dat iedere gebruiker een taal kan kiezen. Dit doe ik met deze functie:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
function SetLang($language)
{
global $lang;
global $system_error;
if(file_exists("../langs/".$language.".lang.php"))
{
include("../langs/".$language.".lang.php");
}
else
{
include("../langs/en.lang.php");
$system_error[] = "Language file \"".$language."\" not found. Changing language to English.";
}
}
?>
function SetLang($language)
{
global $lang;
global $system_error;
if(file_exists("../langs/".$language.".lang.php"))
{
include("../langs/".$language.".lang.php");
}
else
{
include("../langs/en.lang.php");
$system_error[] = "Language file \"".$language."\" not found. Changing language to English.";
}
}
?>
Het is dus de bedoeling dat het taalbestand geînclude wordt. Dat wordt hier gedaan, maar de variabelen kan ik dus niet gebruiken buiten de functie (wat de bedoeling is). Dit kon ik oplossen door deze variabelen global te maken. Dus dit is in feite gelukt.
Nu wil ik, om het gemakkelijk te maken voor gebruikers, veel met includes werken. Zodat ik bijvoorbeeld menu.php include op de site en het menu staat er. Omdat er ook een en ander gecheckt moet worden wil ik dit dmv een functie doen:
Dit is een basis voor de functie. Als ik dus een bestand laadt op een pagina worden echo's etc natuurlijk uitgevoerd. Maar ik kan niks met die variabelen die erin staan. (zelfde probleem als hierboven). Maar hier kan ik geen global toepassen omdat alle variabelen verschillend zullen zijn. Hoe kan ik ervoor zorgen dat de variabelen wel toegankelijk zijn, of wat is een betere oplossing?
Ik hoop dat ik het een beetje duidelijk uitgelegd heb...
Alvast bedankt
Gewijzigd op 01/01/1970 01:00:00 door Cedric
Misshien kan je een Config.php file maken, waar je alle variablen in zet die je nodig hebt, en vervolgens deze op elke pagina include..?
Ik snap niet hoe dat zou kunnen werken?? Het is de bedoeling dat als ik bijvoorbeeld op een pagina een variabele $test aanmaak en daaronder een pagina laad met de functie Load, dat de waarde van $test wordt weergegeven als er op die geïnclude pagina echo $test staat.
Dat hoort gewoon te gebeuren. Maak er zelf ook gebruik van?..
Wat hoort er te gebeuren? Ik kan even niet volgen..
Index.php:
Kleur.php:
werkt dat zoals het hoort bij mij.
Probeer het eens binnen een functie. De include doen in de functie zoals in mijn voorbeeld..