Ik heb op mn site dat mensen hun taal uit kunnen kiezen. Maar bestaat er een manier (met cookies ofzo) dat als een bezoeker op bijv nederlands klikt, dat de taal voor die bezoeker in het nederlands blijft?
Doe dat dan met sessies, zolang een bezoeker op je site is, is de taal nederlands. Je kan ook bijvoorbeeld zeggen dat ze de pagina in favorieten kunnen zetten, met nederlands als taal:
?taal=nl
dan goed controleren op een geldige waarde, en de juiste taal includen.
?
Onbekende gebruiker
24-01-2006 11:43
@ Frank:
Ik heb $_GET gebruikt idd, maar op mn site staat een formpje. Telkens als deze gesubmit wordt gaat de taal weer naar het engels :s
<form name="keuze" method="post" action="<? echo $_SERVER["REQUEST_URI"];?>">
Ik denk dat het niet werkt omdat je als method post gebruikt. Probeer het eens met method="get"?
?
Onbekende gebruiker
24-01-2006 11:51
@ Robert
Hoe werkt dat precies met sessies, ik ben er zelf niet zo bekend mee. is het zoiets:
<?
session_start();
if(!$_SESSION['taal'])
{
$taal = "nederlands";
}
?>
<?php
session_start ();
if ($_SESSION['taal'] == 'nl') {
// nederlands
}
?>
Bij sessions is belangrijk dat op elke pagina waar je je sessionvariabelen beschikbaar wilt hebben session_start helemaal bovenaan staat. En ergens moeten de sessievariabelen geinitialiseerd worden, dus op de een of andere pagina moet je dit gedaan hebben:
$_SESSION['taal'] = 'nl';
Bijvoorbeeld aan de hand van een formulier dat de gebruiker heeft ingevuld, of aan de hand van info uit je db.
?
Onbekende gebruiker
24-01-2006 11:56
Dank je wel voor de heldere uitleg jan!
?
Onbekende gebruiker
24-01-2006 11:58
nog ff een vraagje:
Hoe maak ik duidelijk wat $_SESSION['taal'] is?
Kan dat gewoon dmv $_GET-je?
bijv:
<?
if($_GET['taal'] == "nl")
{
$_SESSION['taal'] == 'nl'
}
?>
?
Onbekende gebruiker
24-01-2006 11:59
Want daar komt mijn probleem, telkens als het formpje gesubmit wordt, verdwijnen de variabelen in de URL
@ Frank:
Ik heb $_GET gebruikt idd, maar op mn site staat een formpje. Telkens als deze gesubmit wordt gaat de taal weer naar het engels :s
<form name="keuze" method="post" action="<? echo $_SERVER["REQUEST_URI"];?>">
Hier raak je de variabele 'taal' uit de url kwijt. Kijk maar eens in je html-source.
Gebruik zoiets als deze:
action="<? echo $_SERVER['PHP_SELF'].'?taal='.$_GET['taal'];?>">
Nog wel even checken of er uberhaubt een taalkeuze aanwezig is!