Weet iemand of het mogelijk is om een php variabele naam in een string in een database te gooien, zodat zodra de string opgevraagt wordt, de variabele meteen uit het php script wordt weergegeven. Het gaat in dit geval om een systeem waarin de meeste text op mijn website in de database staat, en via een php functie wordt weergegeven, het is me dus alleen nog niet gelukt met variabelen.
Je wilt dus bv. $string='bla' in de database zetten? Dan kan je is kijken naar eval()

[size=xsmall]Toevoeging op 19/08/2011 01:18:34:[/size]

Overigens is het afgeraden. Waarom zou je dat willen doen?
Zorg dat je zeker weet dat wat in de database goed is. Dit is namelijk een zéér onveilige methode.
@Write Down: Mocht ik mijn website in de toekomst meertalig willen maken, dan heb ik strings met variabelen in mijn scripts zitten die ik allemaal handmatig zou moeten laten veranderen in plaats van in de database, daarom zoek ik dus een manier om die strings gewoon in de database te kunnen zetten.
Dat is niet de juiste manier, een juiste manier is een taalsysteem maken.

Wanneer het over een CMS gaat, ben je bijna verplicht een database te gebruiken en dan maak je een veld taal aan, waarin je dan een taalcode zet. De juiste content haal je dan op afhankelijk van de taal die de bezoeker vraagt. (of automatisch)

Als het echter om een minder dynamisch systeem gaat, of om een adminpaneel gaat is het eenvoudiger met taalbestanden te werken.


<?
/* Dit is bijvoorbeeld nederlands.lang */

$lang['index']['welcome'] = 'Welkom!';
$lang['index']['content'] = 'Dit is de startpagina blablabla';

?>


De indeling van de array kan natuurlijk ook anders. Maar ik denk dat je wel slim genoeg bent om dat zelf te bedenken ;-).

Moest je er niet uitkomen, kan je het natuurlijk eens even vragen.
ok, en als ik zo'n taalsysteem zou gaan maken, hoe werkt het dan als ik bijvoorbeeld een string krijg: "Je score tot nu toe is 50." In dit geval is 50 geen standaard maar een variabele die verschilt per gebruiker, hoe zet je dat dan in taalbestand/database
Je kunt toch in je database een tabel met scores bijhouden:


user_id   score
   1        50
   2       120


En dan doe je zoiets als:

echo $text['your_score'] . $score;

En die $text['your_score'] komt dan uit je tekstbestand / database en $score haal je op uit de database.
Die 50 is toch niet afhankelijk van taal-keuze? 50 is in het Engels zelfde als in Duits, Frans en Nederlands. Je zet dan "Je score tot nu toe is" in de database en dan vul je regel aan met de betreffende variabele op het moment dat je de pagina oproept/aanmaakt.
dat is inderdaad mogelijk als de variabele zich aan het begint aan het einde van de zin begeeft, maar wat als deze ergens anders in de zin zit? moet ik dan de 2 delen van de zin apart definiëren?
Ja...

Of je doet het nog iets anders. Op de plek waaar in de vertaling de score moet staan zet jij bijvoorbeeld *score*. Dus:

Je hebt een score van *score* punten.

*score* vervang je dan door de juiste waarde.

Reageren