vægle sprog på siden via. ip

Tags:    php mysql

Hej udviklere

jeg skal have lavet min hjemmeside om på dansk, engelsk, tysk samt svensk.

havde tænke mig dette skulle foregå via ip. tjek i mysql databasen. sådan at man næste gang kan åbne siden, og den stadig er på det tidligere valgte sprog.
hvordan synes i jeg skal gribe dette an?
og har i evt. nogle links/guides til hvordan jeg løser dette?

ved godt nogle har en dynamisk ip, men det er den måde jeg har valgt da jeg synes det er den som måske fungere bedst til mit site.




7 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 7 karma
Sorter efter stemmer Sorter efter dato
Et alternativ er at bruge browserens sprog. På den måde undgår du at en dansker som er på rejse i england f.eks. får en engelsk side op, fremfor den danske.

Tag et kig på denne:

Fold kodeboks ind/udPHP kode 




Nu er jeg ikke helt siker på hvad q står for, men kunne forstille mig det er noget med hvor højt den skal vægtes.

Prøv noget ala følgende.
Fold kodeboks ind/udPHP kode 


Har ikke testet det ;-) Men så er der lidt lektier til dig :-)



Indlæg senest redigeret d. 08.06.2011 17:55 af Bruger #12245
Har skrevet en lille kode og testet den i den nyeste IE, FF og chrome. Ved ikke om man kan stole på at den virker for ældre versioner, men har prøvet at fange det første sprog der står i HTTP_ACCEPT_LANGUAGE-variablen.
Fold kodeboks ind/udPHP kode 


og tak for tippet Frank Jensen - har tidligere gjort dette vha. IP. Det var mildest talt besværligt.. for ikke at nævne ressourcekrævende.

EDIT: Du må selv lige få den til at vælge et standard sprog, hvis den ikke finder nogen af de andre. Desuden har jeg ikke tjekket om de sprog du nævner rent faktisk repræsenteres sådan.




Indlæg senest redigeret d. 09.06.2011 19:53 af Bruger #11056
okay hvordan kunne man eks. kode videre på den kode?
og er det muligt at lave en kode der til sådan hvis man trykker på eks. eng at det bliver eng næste gang man åbner siden?


Har prøvet dette men får fejl da mine browser ikke siger samme kode.
Fold kodeboks ind/udPHP kode 


og den giver disse koder ved:
FF : 'da,en-us;q=0.7,en;q=0.3'
Crome : da-DK,da;q=0.8,en-US;q=0.6,en;q=0.4
IE v9 : da

hvad gør jeg for at den kun skriver da
samt en + de andre sprog?



Indlæg senest redigeret d. 08.06.2011 17:31 af Bruger #16454
Nu er jeg ikke helt siker på hvad q står for, men kunne forstille mig det er noget med hvor højt den skal vægtes.

Prøv noget ala følgende.
Fold kodeboks ind/udPHP kode 


Har ikke testet det ;-) Men så er der lidt lektier til dig :-)


Det virkede da jeg satte en ) ind i første linje, men på trods af det skriver den kun da i IE men ikke noget i FF og Crome




chris pedersen det hjalp men,

får denne fejl når jeg smider en header ind i bunden.
Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/umbrella-gaming.dk/admin/index.php:1) in /var/www/html/umbrella-gaming.dk/admin/index.php on line 25

det ser sådan ud:
Fold kodeboks ind/udPHP kode 


Nogle der har en bedre løsning på problemet?



chris pedersen det hjalp men,

får denne fejl når jeg smider en header ind i bunden.
Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/umbrella-gaming.dk/admin/index.php:1) in /var/www/html/umbrella-gaming.dk/admin/index.php on line 25

det ser sådan ud:
Fold kodeboks ind/udPHP kode 


Nogle der har en bedre løsning på problemet?


Der er som sådan ikke noget problem. Du skal bare omskrive koden, så du ikke udskriver noget inden du sender header'en.

Eksempel:
Fold kodeboks ind/udPHP kode 






t