hoe maak ik eenvoudig een optie om een taal te kiezen op me site met een language file en php ?
Voorstaande probleem opgelost door
de session_start(); bovenaan te zetten.

Zit ik nog met 1 probleem :
Hoe zit het met de pagina's erachter
dus de vertaalslag heeft plaatgevonden
en dan klik je op die pagina op een link naar d e volgende pagina (ik wil dat iemand 1 keer voor zijn taal kiest en dat dat dan website breed werkt zeg maar)

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']);
?>
Wat de mooiste oplossing is wanneer er een onlogsysteem voor zit vindt ik het schrijven van de taal in de database. Deze kan je dan automatisch uitlezen en in laten stellen en eventueel laten wijzigen.

Het nadeel van het gebruik van sessies is al genoemd. Die onthoudt die zolang de browser aan staat, wanneer je dus een andere keer gaat kijken is die de keuze vergeten.

Het kan overigens ook wel via IP-adres worden opgeslagen. Dat iemand een taal kiest, dan schrijf je IP en taalkeuze weg. En als iemand dan over de pagina surft include je elke keer de taal. Als iemand dan een keer de computer op gaat schonen dan houdt die de taalkeuze wel, die je anders met cookie kwijt zou zijn.

Het ligt dus helemaal aan wat je er zelf van wilt maken, er zijn zat mogelijkheden.
<?php
session_start();
include($_SESSION['taal']);
?>

Dit werkt :-)
Is het in frame's anders ?
Haha, in frames hoeft dat voor zover ik weet niet, omdat je de sessie kan starten in je hoofdframe en die blijft steeds open staan
ok bedankt , en moet zo'n sessie niet gesloten worden ? pff ik heb een cursus gevolgd bij computrain php voor beginners daar eler je wel wat een variabele is en wat een sessie maar niet goed hoe je het toepast heb hier al meer geleerd :-)
Dit is hetscript tot nu toe:

<?php
session_start();
?>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>"method="post">
<select name="taal">
<option value="dutch">Nederlands</option>
<option value="english">English</option>
</select>
<input type="submit" value="ok">
</form>

<?php
$_SESSION['taal'] = $_POST['taal']. ".php";
include($_SESSION['taal']);


echo $welcome;
?>

<br>
<a href="test1.php">test</a>

Foutmelding :
Warning: main(.php): failed to open stream: No such file or directory in /home/weerenon/public_html/test/test.php on line 15

Warning: main(.php): failed to open stream: No such file or directory in /home/weerenon/public_html/test/test.php on line 15

Warning: main(): Failed opening '.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/weerenon/public_html/test/test.php on line 15


Klik in daarna een taal aan is de foutmelding weg.
Dus hij struikelt volgens mij op een "default" taal die hij eigenlijk zou moeten hebben in dit geval nederlands tot je wat anders kiest.
Jip schreef op 20.11.2005 12:56
Is dit niet wat beter??

<?php
$text['1001'];
?>

Nee, je vergeet de echo, en 1001 is een integer daar horen geen quotes omheen :)
Even een vraag tussen door

werkt dit ook met de namen van submit knoppen
als je taal nl is komt er enter de site
en als je taal engels is komt er te staan enter the site
Je kan dit doen om standaart taal te doen:

<?php

if (!isset($_SESSION['taal'])){

include("nederlands.php");
}

else{
//hier de functie voor de taal uit de sessie halen
}
?>

Reageren