Avatar billede danino Nybegynder
15. oktober 2005 - 17:10 Der er 4 kommentarer og
1 løsning

Cookie problem

Jeg er ved at lave en hjemmeside, som skal fungere med flere forskellige sprog.

På alle siderne inkluderes en fil i starten, som styrer sproget og andre ting. Starten af denne fil ser således ud:

<?php
// Start the session
session_start();

// Include the mysql connect file
require "../config/database.php";

// Set the language to the default, if not changed by user
// and saved (by us) in a session
if(!isset($_SESSION["language"]))
{
    // If the user has a cookie with a saved preferred language,
    // then select that
    if(isset($_COOKIE["language"]))
    {
        $_SESSION["language"] = $_COOKIE["language"];
    }
    else
    {   
        // Otherwise set language to the default language,
        // which is selected via the admin. Find the
        // selected language in the database
        $query = mysql_query("SELECT stdlang FROM sys_stdlang LIMIT 1") or die(mysql_error());
        $row = mysql_fetch_object($query);
       
        // Save standardlanguage into session, which saves
        $_SESSION["language"] = $row->stdlang;
       
        // Save the langage in a cookie
        // because we can save a call to DB next time the
        // visitor comes to our page
        setcookie("language", $_SESSION["language"], time()+60*60*24*5000);
    }
}
// resten af filen

Når man så ændrer sproget (ved at kalde en bestemt fil (chlang.php), skulle der gerne gemmes en cookie med ens valgte sprog, således at siden, næste gang man besøger den, er på dette sprog.

Problemet er bare at denne kode kun virker i firefox, og ikke i IE! ... er der nogen der kan svare hvorfor?

ps. Hvis I har brug for at se siden der ændrer sproget, så sig til...
Avatar billede erikjacobsen Ekspert
15. oktober 2005 - 17:26 #1
Der kan være forskel på om browsere accepterer ccokies for domæne.dom og www.domæne.dom, og hvis du blander de angivelser, kan det sommetider give problemer.
Avatar billede danino Nybegynder
15. oktober 2005 - 17:56 #2
Ja, det var faktisk det der var galt... Jeg bruger nu

setcookie("language", $_SESSION["language"], time()+60*60*24*5000, "/", ".mitdomæne.dk");

og det samme i min chlang.php, og nu virker det!

Så mange tak for hjælpen...

Du plejer ikke at samle points, men jeg skal jeg spørge... Vil du lægge et svar? :)
Avatar billede danino Nybegynder
15. oktober 2005 - 17:56 #3
Du plejer ikke at samle points, men jeg skal jo spørge... Vil du lægge et svar? :)

... mente jeg :)
Avatar billede erikjacobsen Ekspert
15. oktober 2005 - 17:56 #4
Nej tak :=)
Avatar billede danino Nybegynder
15. oktober 2005 - 17:57 #5
Ok.. Så lukker jeg bare her...

Og igen tak for hjælpen :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester