login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Cookie herplaatsen lukt niet?!

Offline zwobbel - 20/05/2005 10:02 (laatste wijziging 20/05/2005 10:03)
Avatar van zwobbelPHP 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:
  1. <?
  2. //controle
  3. if(!isset($_COOKIE['Lang']))
  4. {
  5. Setcookie("Lang", "NL", Time() + 60 * 60 * 24 * 2190);
  6. header('location: index.php?a='.$_GET['a']);
  7. } else {
  8. Setcookie("Lang", $_COOKIE['Lang'], Time() + 60 * 60 * 24 * 2190); //Dankzij de loop zal de gekozen taal altijd gebruikt worden
  9. }
  10. ?>


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:
  1. <?
  2. //alle talen die je hebt
  3. $talen = array("NL", "FR");
  4.  
  5. if ( isset ($_GET['Lang']) )
  6. {
  7. if ( in_array ($_GET['Lang'], $talen) )
  8. {
  9. setcookie("Lang", $_GET['Lang'], time() + 60 * 60 * 24 * 2190);
  10. print $_COOKIE["Lang"];
  11. // header('location: index.php?a='.$_GET['a']);
  12. }
  13.  
  14. }
  15. ?>

Hoe komt dit toch?

3 antwoorden

Gesponsorde links
Offline Martijn1989 - 20/05/2005 10:08
Avatar van Martijn1989 PHP ver gevorderde Ik denk dat je eerst de coockie leeg moet halen... iig... het zou een stuk minder problemen geven... naar mij mening?
Offline zwobbel - 20/05/2005 10:10 (laatste wijziging 20/05/2005 10:17)
Avatar van zwobbel PHP gevorderde Hmm ik heb effe zelf nog zitte zoeke en nu ben ik er achter gekomen dat als ik het stukje :
  1. <?
  2. if(!isset($_COOKIE['Lang']))
  3. {
  4. Setcookie("Lang", "NL", Time() + 60 * 60 * 24 * 2190);
  5. header('location: index.php?a='.$_GET['a']);
  6. }
  7. ?>

de loop er af haal alles wel werkt maar hoe moet ik er dan voor zorgen dat er die cookie altijd staat en niet een bepaalde tijd?
Offline Thomas - 20/05/2005 13:03
Avatar van Thomas Moderator Als je cookie niet overschreven wordt, dan komt dit waarschijnlijk omdat $_GET['Lang'] niet geset is ?

Ook is je cookie niet op je hele site geldig (je dient aan de path-parameter van setcookie() "/" toe te voegen).

En de enige manier om er voor te zorgen dat een cookie geset blijft is telkens de verloop-tijd updaten lijkt mij...
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.228s