Hoi,
Voor een project moet de bezoeker op de pagina start.php kiezen of 'ie de site in het Frans of in het Nederlands wil bekijken.
Wordt er voor Frans gekozen, dan gaat de bezoeker naar 'index.php?taal=fr'. Zo ook voor het Nederlands. Dat lukt.
Maar ook in de site zelf is er een optie om nog van taal te verwisselen; zie het als twee subtiele knopjes bovenaan iedere pagina. Ik zeg wel iedere pagina, maar ik gebruik steeds index.php met ?pagina=homepagina en zo.
Dit is mijn script:
Dat werkt wel een beetje, maar niet helemaal.
Ik kan, als ik op de index.php zit (dus zonder ?pagina=homepage, die wel automatisch wordt geincludet als er geen $_GET['pagina'] wordt gedeclareerd) die kleine taalwisselknopjes gebruiken. De afbeeldingen die van die keuze afhangen, veranderen inderdaad ook naar hun specifieke taalafbeeldingen. Dus dat is goed.
Het probleem zit 'em echter in het feit dat ik niet kan doornavigeren, dus naar een pagina anders dan index.php?taal=fr of ?taal=fr wil gaan. Hij stuurt me onverbiddelijk terug naar de index.php?taal=nl, en dan pas kan ik doordoen, enkel in het Nederlands. Als ik het script bekijk, is dat niet meer dan normaal.
Maar nu zou ik het dus zo willen, dat PHP eerst kijkt of er een cookie bestaat. Is dat niet, dan zet 'ie er eentje met de $_GET['taal'] als voorkeur. Is die $_GET['taal'] leeg of ongeldig, dan wordt dat Nederlands. De rest van de site wordt dan in het Nederlands bekeken. Wanneer de gebruiker opeens op Frans wil overschakelen, moet de cookie aangepast, zodat de hele site in het Frans kan bekeken.
Wie helpt?
Voor een project moet de bezoeker op de pagina start.php kiezen of 'ie de site in het Frans of in het Nederlands wil bekijken.
Wordt er voor Frans gekozen, dan gaat de bezoeker naar 'index.php?taal=fr'. Zo ook voor het Nederlands. Dat lukt.
Maar ook in de site zelf is er een optie om nog van taal te verwisselen; zie het als twee subtiele knopjes bovenaan iedere pagina. Ik zeg wel iedere pagina, maar ik gebruik steeds index.php met ?pagina=homepagina en zo.
Dit is mijn script:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
| function zet_taal($taal){ $lijst_taal = array("nl", "fr"); if(!isset($taal) || !in_array($taal, $lijst_taal)){ $taal = nl; } return $taal; } if(!isset($_COOKIE['spar_taal']) || $_COOKIE['spar_taal'] != zet_taal($_GET['taal'])){ setcookie("spar_taal", zet_taal($_GET['taal']), time()+3600, "/"); header("location: index.php?taal=" . zet_taal($_GET['taal'])); exit; } |
Dat werkt wel een beetje, maar niet helemaal.
Ik kan, als ik op de index.php zit (dus zonder ?pagina=homepage, die wel automatisch wordt geincludet als er geen $_GET['pagina'] wordt gedeclareerd) die kleine taalwisselknopjes gebruiken. De afbeeldingen die van die keuze afhangen, veranderen inderdaad ook naar hun specifieke taalafbeeldingen. Dus dat is goed.
Het probleem zit 'em echter in het feit dat ik niet kan doornavigeren, dus naar een pagina anders dan index.php?taal=fr of ?taal=fr wil gaan. Hij stuurt me onverbiddelijk terug naar de index.php?taal=nl, en dan pas kan ik doordoen, enkel in het Nederlands. Als ik het script bekijk, is dat niet meer dan normaal.
Maar nu zou ik het dus zo willen, dat PHP eerst kijkt of er een cookie bestaat. Is dat niet, dan zet 'ie er eentje met de $_GET['taal'] als voorkeur. Is die $_GET['taal'] leeg of ongeldig, dan wordt dat Nederlands. De rest van de site wordt dan in het Nederlands bekeken. Wanneer de gebruiker opeens op Frans wil overschakelen, moet de cookie aangepast, zodat de hele site in het Frans kan bekeken.
Wie helpt?