login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Hulp met cookies (Opgelost)

Offline Kefkecoeck - 29/12/2008 17:01
Avatar van KefkecoeckNieuw lid Hey hallo daar iedereen!
Ik ben nog maar net met php bezig en had een vraagje over cookies.
In deze tutorial heb ik gelezen hoe je met cookies werkt. Maar wat moet je doen om het te laten onthouden wat je gekozen hebt?
Het is voor deze website (www.bencora.com) en hij moet onthouden welke taal je gekozen hebt (Nederlands, Frans of Engels).

Dit is de code:
http://plaatscode.be/63412/

Zou iemand mij kunnen helpen?

Oh ja, het cookie zou één maand geldig moeten zijn.

Alvast bedankt!

16 antwoorden

Gesponsorde links
Offline Koen - 29/12/2008 17:08
Avatar van Koen PHP expert Op je index pagina kijk je na of er een cookie bestaat, als er een bestaat kijk je na welke taal er in de cookie zit, is het nederlands redirect je naar /nl, is het engels naar /eng, enzo.

Bij de index van "/nl, /eng en /fr" set je dan de cookie op de juiste taal.
Aan de hand van die tutorial die je gelezen hebt zou dat geen probleem moeten zijn 

Succes!
Offline Kefkecoeck - 29/12/2008 17:14
Avatar van Kefkecoeck Nieuw lid Dus op de index van /nl zet ik dan bv.:
  1. <?php
  2. setcookie("taal", "nl", time()+2678400, "/nl");
  3. ?>


?
En dan op de algemene index pagina zet ik:

  1. <?php
  2. if(isset($_COOKIE['taal'])) {
  3. // cookie bestaat
  4. goto http://bencora.com/$_cookie
  5. } else {
  6. // cookie bestaat niet
  7. nothing
  8. }
  9. ?>


Of zou dit niet werken?
Offline Koen - 29/12/2008 17:19
Avatar van Koen PHP expert Als je die vierde parameter weglaat gaat het werken 
Offline Kefkecoeck - 29/12/2008 17:21
Avatar van Kefkecoeck Nieuw lid Wat bedoel je met vierde parameter? Kloppen de redirects ook?
Offline Koen - 29/12/2008 17:24 (laatste wijziging 29/12/2008 17:25)
Avatar van Koen PHP expert Dit zet je bijvoorbeeld in /nl.
  1. <?php
  2. setcookie("taal", "nl", time()+2678400);
  3. ?>


En dit in de index pagina
(opgelet, helemaal van boven in de pagina ob_start(); plaatsen!!)
  1. <?php
  2. if(isset($_COOKIE['taal'])) {
  3. switch($_COOKIE['taal']) {
  4. case 'nl':
  5. header('location: http://www.bencora.com/nl');
  6. break;
  7. case 'eng':
  8. header('location: http://www.bencora.com/eng');
  9. break;
  10. case 'fr':
  11. header('location: http://www.bencora.com/fr');
  12. break;
  13. }
  14. }
  15. ?>
Offline Kefkecoeck - 29/12/2008 17:26 (laatste wijziging 31/12/2008 09:49)
Avatar van Kefkecoeck Nieuw lid wow... nu snap ik het even niet meer 
Wat bedoel je met ob_start() ?

EDIT: Snap het nog steeds niet...
Offline Koen - 31/12/2008 10:24
Avatar van Koen PHP expert ob_start() zorgt ervoor dat je header gegevens na de HTML output kan plaatsen (headers, sessions, cookies, ..).
Anders krijg je een error zoals: cannot modify header .... headers already sent.

Mvg

Koen
Offline Kefkecoeck - 31/12/2008 13:50
Avatar van Kefkecoeck Nieuw lid Dus hier moet de obstart()?
http://plaatscode.be/64428/
Offline Koen - 31/12/2008 14:08
Avatar van Koen PHP expert http://plaatscode.be/64430/

Daar 

Helemaal vanboven, nog vóór de HTML output! 
Offline Kefkecoeck - 31/12/2008 15:08
Avatar van Kefkecoeck Nieuw lid http://plaatscode.be/64433/

En dit is dan alles voor op de index pagina. En op de /nl, /eng en /fr zet ik dan die ene code gewoon helemaal bovenaan.

Bedankt! (Of is het niet juist? )
Offline Koen - 31/12/2008 15:12
Avatar van Koen PHP expert Lijkt in orde 
Test eens uit zou ik zo zeggen 

Heb je ook al de setcookie code gemaakt voor in /nl, /fr en /eng?
Offline Kefkecoeck - 31/12/2008 15:14
Avatar van Kefkecoeck Nieuw lid Uhu...
De setcookie is dit:


<?php
setcookie("taal", "nl", time()+2678400);
?>

Voor nl dan he 
Offline Koen - 31/12/2008 15:16
Avatar van Koen PHP expert Goedzo 

Als je probleem is opgelost, klik dan op de knop "Oplossing!" onder deze
post, dan verdwijnt het bericht uit de actieve forumberichten, en duid je meteen ook de post aan die de oplossing bevatte, zodat andere mensen met hetzelfde probleem later onmiddelijk zien hoe het moet 

Koen
Offline Kefkecoeck - 31/12/2008 16:09
Avatar van Kefkecoeck Nieuw lid Moet bij die setcookie ook een obstart() ?
Offline Koen - 31/12/2008 16:52
Avatar van Koen PHP expert Afhankelijk van waar je die code plaatst wel ja 

Maar je kan die code gewoon boven alle html zetten, en dan heb je geen ob_start(); nodig!

Koen
Offline Kefkecoeck - 31/12/2008 16:57
Avatar van Kefkecoeck Nieuw lid ok We zullen zien...
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.212s