hoe maak ik eenvoudig een optie om een taal te kiezen op me site met een language file en php ?
Je hebt dat formulier niet meer nodig dan he :) Maar ik zal hier s ff prutsen ermee, laat je weten hoever ik ben :)
<?php
// als er nog geen sessie is gemaakt met taal, dan is nederlands de standaard taal in de sessie
if (!isset($_SESSION['taal'])){
$_SESSION['taal'] = "dutch";
}

// wanneer je een andere taal kiest wordt deze taal ingesteld in je sessie
if (isset($_GET['taal'])){
$_SESSION['taal'] = $_POST['taal'];
}

// hier wordt de pagina geïnclude die de taal weergeeft
include($_SESSION['taal'] . ".php");
?> en dan ff die links met de afbeeldingen zo:
<a href="index.php?taal=dutch"><img src="nederlandsevlag.jpg"></a>
Met sessions werkt het inderdaad uitstekend, ik ben er ook een groot voorstander van. Ik heb alleen sterk de indruk (kan het niet onderbouwen) dat de indexatie door zoekmachines niet of zeer slecht gebeurd. Ik ben overgestapt op $_GET['lang'] zodat de taalkeuze ook in de url staat. En met een fraaie mod_rewrite krijg je dan gewoon www.domeinnaam/index.php/nl/ of iets dergelijks. Zoekmachines zijn hier gek op!
denk aan de veiligheid ej, niet zomaar postvars in de include ;)
Robert Deiman schreef op 21.11.2005 09:47
Als je (voor zover ik nu kan zien) ervan uitgaande dat je niet met frames werkt kan je in elke pagina zo beginnen:

<?php
session_start();
include($_SESSION['taal']);
?>


Ik denk dat onderstaand stukje toch wat beter werkt ;)...

<?php
session_start();
include$_SESSION['taal']. '.php');
?>

Of je moet bestanden gebruiken zonder extensie...
ik denk niet dat dat werkt :P
Was er niet in PHP een functie ofzo om te kijken welke taal de gebruiker heeft? Wel handig lijkt mij hiervoor.. dnek ik..
$_SERVER["HTTP_ACCEPT_LANG"] ofzo :)
Ik wil niet lastig doen hoor, maar is het niet zo dat die afhankelijk van de voertaal van de server bijv Nederlands, of Dutch terug kan geven?
Of geeft die wel op elke server de taal op de goede manier weer?

En wat als je dan uit frankrijk komt, terwijl de taal niet in het Frans is? Er zijn dan veel meer dingen waar je op moet controleren. Ik zou het doen met een Cookie in dit geval, zodat een gebruiker maar 1 keer hoeft in te geven welke taal die wil. (tenzij het cookie wordt verwijdert)
nou ik kom er niet meer uit
met pulldown menu werkt het goed
met plaatjes niet

bestand 1 (test.php)

<?php
if (!isset($_SESSION['taal'])){
$_SESSION['taal'] = "dutch";
}

if (isset($_GET['taal'])){
$_SESSION['taal'] = $_POST['taal'];
}

include($_SESSION['taal'] . ".php");
echo $welcome

?>

<br>
<a href="test1.php?taal=dutch"><img src="nederlandsevlag.jpg"></a>


Bestand 2 (test1.php)

<?php
session_start();
include($_SESSION['taal']);

echo $welcome;
?>

uitkomst : eerste pagina nederland
tweede pagina engels rara politiepet

taal file nederlands :
<?php
//---TAALBESTAND-DUTCH---//
$welcome = "Welkom op deze site, veel plezier";

?>


taal file engels :
<?php
//---TAALBESTAND-ENGLISH---//
$welcome = "Welcome on this site, enjoy it";

?>

Reageren