PHP gevorderde |
|
Ik ben bezig met een site waabij je een keuze hebt op 2 talen.
Nu als er in de url geen $_GET["Lang"] staat dan word er een cookie geplaatst als volgt:
<?
//controle
if(!isset($_COOKIE['Lang']))
{
Setcookie("Lang", "NL", Time() + 60 * 60 * 24 * 2190);
header('location: index.php?a='.$_GET['a']);
} else {
Setcookie("Lang", $_COOKIE['Lang'], Time() + 60 * 60 * 24 * 2190); //Dankzij de loop zal de gekozen taal altijd gebruikt worden
}
?>
<? //controle if(!isset($_COOKIE['Lang'])) { header('location: index.php?a='.$_GET['a']); } else { Setcookie("Lang", $_COOKIE['Lang'], Time() + 60 * 60 * 24 * 2190); //Dankzij de loop zal de gekozen taal altijd gebruikt worden } ?>
Nu de eerste cookie doet het perfect maar als de gebruiker dan een nieuwe taal wil aanroepen die wel degelijk in mijn array staat wordt de oude cookie niet overschreden en blijft hij NL als cookie aangeven code:
<?
//alle talen die je hebt
$talen = array("NL", "FR");
if ( isset ($_GET['Lang']) )
{
if ( in_array ($_GET['Lang'], $talen) )
{
setcookie("Lang", $_GET['Lang'], time() + 60 * 60 * 24 * 2190);
print $_COOKIE["Lang"];
// header('location: index.php?a='.$_GET['a']);
}
}
?>
<? //alle talen die je hebt $talen = array("NL", "FR"); if ( isset ($_GET['Lang']) ) { { // header('location: index.php?a='.$_GET['a']); } } ?>
Hoe komt dit toch?
|