Set cookie meerdere talen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Bas Abdul Rahim

Bas Abdul Rahim

15/10/2008 20:07:00
Quote Anchor link
Goede avond allen,

ook ik wil me site in twee of meer talen gaan maken. Ik wil via een cookie uitlezen welke taal iemand gekozen heeft. Ik heb hier ook al diverse dingen over gevonden op deze site.

Echter weet ik niet hoe ik een button (bv nl vlag) kan koppelen aan het zetten van een cookie?

Dus wanneer iemand op de nl vlag klikt dan wordt in de cookie de taalcode NL geplaatst. Klikt iemand op de engelse vlag dan moet een cookie gezet worden met de taalcode EN.

Graag assistentie.
 
PHP hulp

PHP hulp

22/12/2024 19:04:49
 
TJVB tvb

TJVB tvb

15/10/2008 20:37:00
Quote Anchor link
de vlag moet gewoon een linkje zijn naar een pagina die dat regelt en eventueel meegeeft waar de gebruiker vandaan komt.
Dan ze je het cookie en stuur je de gebruiker weer terug.
 
Bas Abdul Rahim

Bas Abdul Rahim

15/10/2008 22:39:00
Quote Anchor link
@tjvb

bedankt het is gelukt. Nu wil ik echter ook nog het volgende.

Nadat op de betreffende link is geklikt opend er een lege pagine. Deze moet automatisch sluiten en vervolgens de eerdere pagina (daar waar op de link is geklikt) refreshen.

Dat moet dus niet om de x-aantal seconden gebeuren maar alleen wanneer op dat linkje is geklikt.
 
Jan Koehoorn

Jan Koehoorn

15/10/2008 22:42:00
Quote Anchor link
Ik zou helemaal geen link maken naar een aparte pagina die dat regelt. Je kunt prima een cookie zetten met een link op dezelfde pagina, als je er maar voor zorgt dat je voor het zetten van het cookie geen enkele output naar de browser stuurt.
 
Bas Abdul Rahim

Bas Abdul Rahim

15/10/2008 23:05:00
Quote Anchor link
@Jan

sorry ik snap niet wat je bedoeld??
 
Jan Koehoorn

Jan Koehoorn

15/10/2008 23:08:00
Quote Anchor link
Ik heb even een voorbeeld met twee pagina's gemaakt:

http://www.jankoehoorn.nl/language_cookie.php
 
Bas Abdul Rahim

Bas Abdul Rahim

15/10/2008 23:25:00
Quote Anchor link
Ik heb nu dit:

LINK:
====
<a href="set_lang.php?lang=nl" title="Nederlands"><img src="images/vlag_nl.png" width="40" height="23" alt="NL" border="0"></a>

PHP:
===
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?
$language
= $_GET['lang'];

setcookie("taal_pstdf", $language);
?>


Als ik dat uitvoer verdwijnt mijn frame? Ik vrees dat ik het nog niet snap
Gewijzigd op 01/01/1970 01:00:00 door Bas Abdul Rahim
 
Bas Abdul Rahim

Bas Abdul Rahim

16/10/2008 15:56:00
Quote Anchor link
Kan iemand meer uitleg over de oplossing van Jan geven. Ik vrees dat ik niet snap hoe hij dat heeft gemaakt.
 
Dirk Boriau

Dirk Boriau

06/11/2008 23:09:00
Quote Anchor link
Jan,

hoe keer je terug van je pagina http://www.jankoehoorn.nl/language_cookie_setcookie.php?lang=NL terug naar de oorspronkelijke url ?
 
Tikkes C

Tikkes C

07/11/2008 06:35:00
Quote Anchor link
@bas: zorg dat dat scriptje vanboven staat en je $language moet een string zijn! dus zet quotes! (zie:set cookie)
Gewijzigd op 01/01/1970 01:00:00 door Tikkes C
 
- -

- -

07/11/2008 06:42:00
Quote Anchor link
na je setcookie plaats je deze regel:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
header('Location: http://wwww.jouw.nl/vorige/pagina.html');
?>

Je moet dan natuurlijk de link naar die andere pagina neerzetten.
 
Dirk Boriau

Dirk Boriau

07/11/2008 06:58:00
Quote Anchor link
Die code gebruik ik nu, maar dit betekent dat je dit moet doen voor elke pagina waarop je de taallink laat gebeuren. Of misschien beter gezegd hoe kan ik de link vanwaar ik kom ahw in een variabele meekrijgen.
Als ik de onderstaande code gebruik geraak ik wel terug, maar als ik de pagina aanroep http://www.mijnsite.be/index.php keer ik terug naar http://www.mijnsite.be en ben ik de index.php verloren.

hier is de code die ik heb staan in de php pagina die de cookie zet.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php

$taal
= $_GET["lang"];
$ref = $_SERVER['HTTP_REFERER'];
    
        setcookie("language", $taal, time()+30758400, "/");

$url = $_SERVER['SERVER_NAME'];
$page = $_SERVER['php_SELF'];
$url= "http://". $url . $page ;
header("Location: " . $url . "\"") ;

?>
Gewijzigd op 01/01/1970 01:00:00 door Dirk Boriau
 
Steven Hack

Steven Hack

07/11/2008 07:17:00
Quote Anchor link
Maak gewoon gebruik van sessions? Dan hoef je bovenaan elk script alleen session te openen en te kijken welke taal het is. Bij je de button / link met img zet je dan: href="?p=' . $link . '&amp;lang=nl"

waarbij $link de huidige pagina is. en bovenaan en elk script zet je dan een check om te kijken of de sessie al geplaatst is.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
session_start();
if (isset($_GET['lang'])) {
    if ($_GET['lang'] == "en") { $_SESSION['lang'] = "en"; }
    else { $_SESSION['lang'] = "nl"; }
}

else {
    if (empty($_SESSION['lang'])) { $_SESSION['lang'] = "nl"; }
    else {
        if ($_SESSION['lang'] != "en" && $_SESSION['lang'] != "nl") {
            $_SESSION['lang'] = "nl";
        }
    }
}

?>


Zo doe ik het teminste. En dat werkt goed zat.
Gewijzigd op 01/01/1970 01:00:00 door Steven Hack
 
PHP Newbie

PHP Newbie

07/11/2008 08:12:00
Quote Anchor link
Ik denk dat je hier wel wat mee kunt: http://phphulp.nl/php/scripts/7/672/
 
Dirk Boriau

Dirk Boriau

07/11/2008 09:10:00
Quote Anchor link
Bedankt iedereen voor de hulp.

Ik heb het op deze manier opgelost (en het werkt tot nu toe)
KISS (Keep It Simple and Stupid) doet het nog steeds ;-)

de links van de talen naar de taalkeuzepagina (niets speciaal)
<a href="taalkeuze.php?lang=nl">NL</a> | <a href="taalkeuze.php?lang=fr">FR</a> | <a href="taalkeuze.php?lang=uk">UK</a>

bovenaan elke pagina heb ik dit geplaatst

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php

    if(isset($_COOKIE['language']))
    {

        $lang = $_COOKIE['language'];
    }

    else
    {
        $lang = uk; //om toch een standaard iets te kunnen tonen    
    }
?>



de inhoud van taalkeuze.php pagina staat hieronder.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php

$taal
= $_GET["lang"];
$ref = $_SERVER['HTTP_REFERER'];
    
        setcookie("language", $taal, time()+30758400, "/");
        header('Location:' . $ref );

?>
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.