login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Aanmeldformulier

Offline EXcium - 15/02/2007 11:39
Avatar van EXciumLid Ik ben bezig met een aanmeldformulier die in 2 talen moet komen. De talen moeten uit de MySQL database komen.

Het moet als volgt gaan:
Klant selecteert de taal, aan de hand van de geselecteerde taal moeten de namen van de formulier velden in die specifieke taal komen.

Alleen heb ik geen idee hoe ik dit moet aanpakken.

7 antwoorden

Gesponsorde links
Offline Thomas - 15/02/2007 11:50 (laatste wijziging 15/02/2007 11:51)
Avatar van Thomas Moderator Maak gebruik van een template-engine.

Maak een template voor elke taal, bijv. en/form.tpl, nl/form.tpl etc. en maak één PHP-bestand form.php die de templates vult vanuit de database.

Afhankelijk van de taal vul je de template met andere waarden. Met name checkboxen, dropdowns en radiobuttons lenen zich hiervoor. De wat "statischere" elementen (text-input, textarea's) hebben alleen maar een ander "kopje", (bijvoorbeeld "omschrijving" voor nl en "description" voor en) - deze zet je in je form-template zelf.

Het voordeel hiervan is, dat je de code maar één keer hoeft te schrijven (deze is taal-onafhankelijk).
Offline marten - 15/02/2007 11:50
Avatar van marten Beheerder :)

mysql tabel maak je veld genaamd taal.
Vervolgens lees je uit door:

SELECT veld1, veld2 FROM tabelnaam WHERE `veldnaam` = 'jeveldnaam' AND `taal` = 'jetaal';
Offline EXcium - 15/02/2007 11:53
Avatar van EXcium Lid Kunnen jullie posts wat nader uitleggen?
Offline Thomas - 15/02/2007 12:09 (laatste wijziging 15/02/2007 12:10)
Avatar van Thomas Moderator Mijn post spreekt redelijk voor zich denk ik.

> TemplatePower - een template-engine.

Als je wilt dat mensen code voor je gaan schrijven, ga je naar samenwerken.
Offline compudoc - 15/02/2007 12:14 (laatste wijziging 15/02/2007 12:15)
Avatar van compudoc PHP beginner je kan toch ook gewoon een veld maken waar mensen hun taal kunnen kiezen enzo en deze dan opslaan in een cookie.

en vervolgens de post van marten uitvoeren

  1. SELECT kolommen FROM tabel WHERE taal='"$_COOKIE['taal']'";
Offline Ultimatum - 15/02/2007 12:19
Avatar van Ultimatum PHP expert Dan word de query dus SELECT kolom FROM table WHERE en = 'en'

Want anders moet je dus een extra tabel maken met een veld taal waarin de taal staat..
Offline Thomas - 15/02/2007 12:30
Avatar van Thomas Moderator Ik neem aan dat de rest van de site ook twee- of meertalig is, en niet enkel het formulier?

Met een template-engine maak je een "schone" scheiding tussen code en layout, waarbij je de layout weer op kunt delen in verschillende talen...

Aan jullie de keuze.

EXcium wilde voorstellen horen, dat is de mijne.

Als het alleen om de taal-selectie gaat: je zult op een of andere manier moeten bijhouden in welke taal iemand de site wil zien, dit kan inderdaad met een cookie.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.187s