Controle van IPadres versus taal
Gaat men naar mijn domein.com adres moeten ze automatisch worden doorgesluist naar pagina die geschreven is in hun taal.
Is dat Nederlanders moet de website gaan naar www.***.nl/NL
Is dat Frans moet de website gaan www.***.nl/FR
Is dat Engels moet de website gaan www.***.nl/EN
Mij staat bij dat dat ooit wel eens op deze website heeft gestaan. Echter ik kan het niet meer vinden. Kan iemand mij helpen ?
Gewijzigd op 01/01/1970 01:00:00 door Jjriet petersen
Stel mijn pc is engels maar ben gewoon nederlands, dan wordt ik steets naar de engelse pagina gestuurt.
Je kan nooit echt zeker weeten wat de taal is van een gebruiker.
Gewijzigd op 01/01/1970 01:00:00 door Joey Drieling
Kijk eens naar $_SERVER[''HTTP_ACCEPT_LANGUAGE'], dat is denk ik beter dan op basis van ip dit doen. Zorg er dan wel voor dat het duidelijk is (dus rechtsboven ofzo vlaggetjes) dat gebruiker ook een andere taal kan nemen.
klopt maar bovenin komen ook de bekende vlaggetjes. Mocht de bezoeker niet de juiste taal zien op zijn scherm kan hij het handmatig aanpassen. Of heb je een ander alternatief ?
http://iplocationtools.com/ip_location_api.php
-> Gewijzigd op 01/01/1970 01:00:00 door Mr.Ark
jjriet schreef op 06.05.2009 22:48:
klopt maar bovenin komen ook de bekende vlaggetjes. Mocht de bezoeker niet de juiste taal zien op zijn scherm kan hij het handmatig aanpassen. Of heb je een ander alternatief ?
Nope. Dit is gokwerk.
Ik weet nu al dat ik bij jou op de Engelse pagina terecht komt, mijn browser staat namelijk helemaal ingesteld op het Engels (dat is aan te passen, maar ik ondervind er geen problemen van, dus ik doe het lekker niet.)
ark schreef op 06.05.2009 22:50:
Die is niet helemaal accuraat... En hoe wil je dat in België gaan doen?
En hier in het noorden heb je ook veel Nederlanders die over de grens in Duitsland wonen...
Bijvoorbeeld browser is nl en ip is nederland weetje bijna zeker dat taal nederlands is.
Toch wil ik uitgaan van de ingestelde taalinstellingen denk ik. Want als het niet klopt kan hij het handmatig aanpassen.
Of zijn er mensen die een echt een waterdicht ander alternatief hebben ?
@Joey klopt dat is inderdaad een mooie optie. Maar hoe maak ik daar een script van ....?
@iedereen: het hoeft echt niet zo ingewikkeld te worden. Gewoon kijken naar de taalinstellingen is voldoende.
Maar als ik dus dat wil (taalinstellingen) waar kan ik dan een goed script vinden. Ik weet bijna zeker dat dat hier al ergens beschikbaar is.
Gewijzigd op 01/01/1970 01:00:00 door jjriet petersen
jjriet schreef op 06.05.2009 23:00:
@ Karl: wat is dan de beste oplossing ? De Fransen moeten op de FR pagina komen en de Nederlanders op de NL pagina.
@Joey klopt dat is inderdaad een mooie optie. Maar hoe maak ik daar een script van ....?
@Joey klopt dat is inderdaad een mooie optie. Maar hoe maak ik daar een script van ....?
Het is niet waterdicht, het is gok werk. Ik denk dat de manier van joey het beste is dan.
Maar als ik dus dat wil (taalinstellingen) waar kan ik dan een goed script vinden. Ik weet bijna zeker dat dat hier al ergens beschikbaar is.
Ligt ook een beetje aan je publiek. Bijvoorbeeld op de universiteit lopen een heleboel mensen rond die liever een Engelse pagina willen hebben, maar wel een Nederlands IP hebben op dat moment. Ik denk dat je beter af kan gaan op dat wat de browser zegt. Bij de meeste niet-technische gebruikers zal dit wel goed zijn ingesteld, misschien niet die mensen die niet een Nederlandstalige versie van Windows op hun systeem hebben staan. Maar het lijkt mij dat die groep ook wel handig genoeg is om z'n browser goed in te stellen, of er juist voor heeft gekozen Engels te willen lezen.
Ik heb hier op phphulp zitten zoeken maar kan geen script hierover vinden. Of zit ik abuis ?
Wie kan me op gang helpen ?
jjriet schreef op 07.05.2009 22:40:
ik heb nog even gegoogled en ik denk dat ik inderdaad voor de browster ga.
Ik heb hier op phphulp zitten zoeken maar kan geen script hierover vinden. Of zit ik abuis ?
Wie kan me op gang helpen ?
Ik heb hier op phphulp zitten zoeken maar kan geen script hierover vinden. Of zit ik abuis ?
Wie kan me op gang helpen ?
Zo moeilijk is het toch niet? Gewoon een if else.
En je kan voor de zekerheid de eerste 2 letters nemen ivm landen als en-us en-gb en-au en-ie de-at de-lu de-ch de-li etc.
Code (php)
en 't kan vast ook nog wel anders.
Gewijzigd op 01/01/1970 01:00:00 door Michael -
Waar vul ik die url dan in ?
In plaats van echo location of zo dacht ik.
header('Location: link.php');
Het werkt niet.
Probleem met IP check: Vaak niet accuraat. Zeker als je rond de landsgrensen woont.
Probleem met IP & Browser check: Wat geef jij de voorkeur? Mijn IP is nederlands. mijn browser is engels. wat zie ik dan?
Registreer .nl, .com. fr. de. .be. kr. cn. (ofttewel alle domein extensies die landgebonden zijn).
Mensen gaan.
1. Naar hun eigen language toe (www.site.fr).
2. Naar www.site.com
in geval van 2. Heb gewoon wat vlaggetjes of een "language" link op je pagina staan.
't kost wat centen maar is naar mijn mening de beste optie.
@jjriet met header location etc.
Zet je error reporting aan of bekijk is je browser warnings ;)
Ik heb meerdere domeinnamen en kan dus ook zien op welke sites ze binnenkomen. Het blijkt o.a. dat veel Fransen op de Nederlandse direct binnen komen. Ik heb vlaggetjes,..............maar wil iets meer. Vandaar de browster keuze,.
Ik ga mijn script aanpassen.
Edit:
als foutmelding krijg ik nu Warning: Cannot modify header information - headers already sent by (output started at /customers/**.nl/**.nl/httpd.www/ok.php:9) in /customers/**.nl/**.nl/httpd.www/ok.php on line 13
Gewijzigd op 01/01/1970 01:00:00 door jjriet petersen
Voorbeeld:
Code (php)
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
/**
* Dit is goed. Je stuurt eerst je headers. daarna eventuele output.
*/
header("location: test.php);
echo "test" ;
?>
/**
* Dit is goed. Je stuurt eerst je headers. daarna eventuele output.
*/
header("location: test.php);
echo "test" ;
?>
Nu is het onlogisch it's te echo'en na een redirect. maar bijvoorbeeld session_start() is OOK een HTMLHeader.
Controleer dus je code. Op regel 9 output jij iets. wat weet ik niet want ik heb je code niet. en op regel 13 probeer je een HTMLHeader te sturen. Dat mag niet.
Een andere optie is om je website goed te laten werken.
Gebruik 1 koekje. Maakt niet uit waar en hoe je op je website komt. Controleer of dit koekje bestaat. Zoniet. stuur de gebruiker naar " chooselanguage.php", hier kiest de gebruiker een taal. en dit zet je in een koekje.
Komt de gebruiker terug. Kontroleer het koekje, staat daar zijn taal voorkeur in. Verwijs naar de juiste website.
Gewijzigd op 01/01/1970 01:00:00 door Thijs Damen
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
Ik krijg als foutmelding:
Parse error: syntax error, unexpected T_ELSEIF in /customers/**.nl/**.nl/httpd.www/ok.php on line 13
Gewijzigd op 01/01/1970 01:00:00 door jjriet petersen