login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Cookie voor taal (Opgelost)

Offline voltrex - 11/05/2009 16:49
Avatar van voltrexLid Hey,
Ik wil voor mijn website een script dat een cookie plaatst voor welke taal een gebruiker nodig heeft. (de site is in het Engels en Nederlands).
Nu heb ik al wel hier op sitemasters een tutorial daarover gelezen,
maar ik wist niet goed hoe je nu moet doen van als de gebruiker Engels is, naar de Engelse-, en anders naar de Nederlandse site.

Hoe weet je of hij En/nl is?
Ik heb al allereerste pagina een taalkeuze.

Hoe moet ik dit realiseren?

Voltrex

6 antwoorden

Gesponsorde links
Offline ArieMedia - 11/05/2009 16:55
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
Je kan het op verschillende manieren doen..

Meest handige vind ik om globals te maken (PHP). en gewoon de globals aanroepen aan de hand van de cookie die de gebruiker draagt.

Je kan ook allemaal aparte pagina's maken (raad het je sterk af). en aan de hand van de cookie laten bepalen welke pagina de gebruiker ziet. Nogmaals, ik raad je deze niet aan.
Offline voltrex - 11/05/2009 16:57 (laatste wijziging 11/05/2009 16:58)
Avatar van voltrex Lid Ik weet niet of je dat bedoeld, maar ik heb al een volledige site gemaakt. In twee mappen: nl & en, dus als je dat bedoeld met aparte pagina's, ik vraas dat het dan al te laat is  

Maar het script dat ik zoek moet eigenlijk ongeveer zo werken:

Als de gebruiker een cookie met 'en' heeft moet hij naar: en/index.php.

Als de gebruiker een cookie met 'nl' heeft moet hij naar: nl/index.php.

Als de gebruiker geen cookie heeft moet hij de taalkeuze pagina krijgen (de echt index). = index.php.
Als de gebruiker dan kiest voor nl of voor en dat moet hij een cookie maken met dat in voor de volgende keer.
Offline Joost - 11/05/2009 17:00
Avatar van Joost PHP expert
  1. $aTalen = array('nl', 'en');
  2. if(isset($_COOKIE['taal']) && in_array($_COOKIE['taal'], $aTalen)){
  3. header("location: ".$_COOKIE['taal']."/");
  4. } else {
  5. // taal kiezen en setten met setcookie()
  6. }


Zoiets moet voldoende zijn.
Offline voltrex - 11/05/2009 17:09 (laatste wijziging 11/05/2009 17:12)
Avatar van voltrex Lid Dit is even een heel newbie vraag (je sais),
maar ik maak hier altijd kleine foutjes in die leiden tot dat het niet werkt...

Maar ik heb dit als taalkeuze:
  1. <table cellpadding="30"><tr><td><a href="en/"><img src="images/logotaalen.gif" alt="EN" border="0" /></a></td>
  2. <td><a href="nl/"><img src="images/logotaalnl.gif" alt="NL" border="0" /></a></td></tr></table>


Hoe moet ik die nu leiden tot dit:
  1. setcookie("taal", "HIER");


Kweethet domme vraag, maar daar maak ik altijd een fout mee  (php-noob)
Offline Koen - 11/05/2009 17:11
Avatar van Koen PHP expert
voltrex schreef:
Dit is even een heel newbie vraag (je sais),

Helemaal correct!

Zet die code dan toch gewoon in de bijhorende directories?
Offline voltrex - 11/05/2009 17:15 (laatste wijziging 11/05/2009 17:45)
Avatar van voltrex Lid Bedoel je dan boven en/index.php te zetten:
  1. <?php
  2. setcookie("taal", "en");
  3. ?>


en boven nl/index:
  1. <?php
  2. setcookie("taal", "nl");
  3. ?>


Btw: Merci voor status  

EDIT: Ik ben er uiteindelijk toch zelf uitgekomen (was de , "/" vergeten). Merci allemaal!  

-> Kan iemand mr. PHP n00b een antwoord geven?  
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.22s