Controle van IPadres versus taal

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Jjriet petersen

jjriet petersen

06/05/2009 22:36:00
Quote Anchor link
Ik zoek een script dat controleert op welke taal de PC is ingesteld.
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
 
PHP hulp

PHP hulp

24/11/2024 12:56:34
 
Joey Drieling

Joey Drieling

06/05/2009 22:47:00
Quote Anchor link
Lijkt me niet handig om de instling van de pc te neemen!
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
 

06/05/2009 22:47:00
Quote Anchor link
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.
 
Mark PHP

Mark PHP

06/05/2009 22:48:00
Quote Anchor link
Je zou eens kunnen kijken naar $_SERVER['HTTP_ACCEPT_LANGUAGE']. Of dat betrouwbaar is, is een ander verhaal.

EDIT: net te laat.
Gewijzigd op 01/01/1970 01:00:00 door Mark PHP
 
Jjriet petersen

jjriet petersen

06/05/2009 22:48:00
Quote Anchor link
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 ?
 
Mr.Ark

Mr.Ark

06/05/2009 22:50:00
Quote Anchor link
-> http://iplocationtools.com/ip_location_api.php
Gewijzigd op 01/01/1970 01:00:00 door Mr.Ark
 

06/05/2009 22:51:00
Quote Anchor link
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...
Gewijzigd op 01/01/1970 01:00:00 door
 
Joey Drieling

Joey Drieling

06/05/2009 22:56:00
Quote Anchor link
Je kan wel meer in de richting kome door te kijken op ip+browser en aan de hand van die twee gegevens kijken wat de taal mogelijk kan zijn.

Bijvoorbeeld browser is nl en ip is nederland weetje bijna zeker dat taal nederlands is.
 
Jjriet petersen

jjriet petersen

06/05/2009 23:00:00
Quote Anchor link
@ Karl: wat is dan de beste oplossing ? De Fransen moeten op de FR pagina komen en de Nederlanders op de NL pagina.

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
 

06/05/2009 23:01:00
Quote Anchor link
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 ....?

Het is niet waterdicht, het is gok werk. Ik denk dat de manier van joey het beste is dan.
 
Jjriet petersen

jjriet petersen

06/05/2009 23:03:00
Quote Anchor link
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.
 
Jelmer -

Jelmer -

06/05/2009 23:05:00
Quote Anchor link
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.
 
Jjriet petersen

jjriet petersen

07/05/2009 22:40:00
Quote Anchor link
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 ?
 
Michael -

Michael -

07/05/2009 23:02:00
Quote Anchor link
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 ?

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)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
$language
= substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2);
if($language == 'nl')
echo 'Welkom!';
elseif($language == 'de')
echo 'Wilkommen!';
elseif($language == 'en')
echo 'Welcome!';
else
echo 'Welcome!';
?>

en 't kan vast ook nog wel anders.
Gewijzigd op 01/01/1970 01:00:00 door Michael -
 
Jjriet petersen

jjriet petersen

07/05/2009 23:37:00
Quote Anchor link
klopt inderdaa niet zo moeilijk. Het werkt maar ik zie nu alléén de tekst staan 'welkom' in mijn geval. Ik wil dat hij automatisch gaat naar http://***NL.nl

Waar vul ik die url dan in ?
 
Joey Drieling

Joey Drieling

07/05/2009 23:56:00
Quote Anchor link
In plaats van echo location of zo dacht ik.
 
Jjriet petersen

jjriet petersen

08/05/2009 00:10:00
Quote Anchor link
Ik heb geprobeerd om dit er tussen te zetten

header('Location: link.php');

Het werkt niet.


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
$language
= substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2);
if($language == 'nl')
header('Location: link.php');
elseif($language == 'de')
echo 'Wilkommen!';
elseif($language == 'en')
echo 'Welcome!';
else
echo 'Welcome!';
?>
 
Thijs Damen

Thijs Damen

08/05/2009 03:34:00
Quote Anchor link
Probleem met browser check: Ik heb als nederlander alles in het engels. Al is het puur om de reden dat ik online handleidingen makelijk wil volgen. Dit betekent niet dat ik de website automatisch in het engels wil zien verschijnen.

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 ;)
 
Jjriet petersen

jjriet petersen

08/05/2009 08:31:00
Quote Anchor link
thanks.
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
 
Thijs Damen

Thijs Damen

08/05/2009 16:22:00
Quote Anchor link
Dat betekent dat je al wat output na het scherm en daarna met header werkt.

Voorbeeld:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
/**
  * dit is fout. Je stuurt output naar het scherm. daarna stuur je je headers.
  */

echo "dit is output naar het scherm";
header("Location: test.php");
?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
 /**
  * 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
 
Jjriet petersen

jjriet petersen

08/05/2009 17:01:00
Quote Anchor link
Ik heb er nu dit van gemaakt:

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
$language
= substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2);
header('location: **.nl/NL.php');
if($language == 'nl')
elseif($language == 'de')
header('location: **.nl/DE.php');
echo 'Wilkommen!';
elseif($language == 'en')
header('location: **.nl/EN.php');
echo 'Welcome!';
else
echo 'Welcome!';
?>



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
 

Pagina: 1 2 volgende »



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.