Beste Leden,

Ik ben al een tijdje opzoek naar een script die ervoor zorgt dat een belg op onze Belgische afdeling's site komt en een Nederlander op de Nederlandse afdeling's site komt.

Bijv.
Ik uit Nederland bezoek www.domein.be alleen ik ben geen belg dus door een bepaald script wordt ik doorverwezen naar www.domein.nl

Is er een bepaald script voor wat dit namelijk kan?

Graag hoor ik van u.



Al vast bedankt!
Kijk eens wat er gebeurt als je $_SERVER['HTTP_ACCEPT_LANGUAGE'] echo'ed, en kijk eens hoe je de eerste(bruikbare) tekens daarvan met substr() kan ophalen.

Dan ben je al een eindje verder.

@Jelle, ik denk dat je voorbeeld niet gaat werken. Kijk eens naar de output van $_SERVER['HTTP_ACCEPT_LANGUAGE']? En waarom onderdruk je foutmeldingen met een @?
@Aar
De case values aanpassen kan hij zelf wel, je kan ook case stacken
case 'nl':
case 'nl-nl':
geen idee wat de mogenlijke waardes zijn dat mag hij zelf uitzoeken.

ik onderdruk de foutmelding omdat als de variable niet bestaat (misschien bij sommige browsers?) dan boeit de error me niet en wil ik gewoon dat het script verder gaat (en die wordt dan doorverwezen bij de default)
Jelle - op 05/01/2012 15:32:42

geen idee wat de mogenlijke waardes zijn dat mag hij zelf uitzoeken.


nl,en-us;q=0.7,en;q=0.3
- SanThe - op 05/01/2012 15:37:05

[quote="Jelle - op 05/01/2012 15:32:42"]
geen idee wat de mogenlijke waardes zijn dat mag hij zelf uitzoeken.


nl,en-us;q=0.7,en;q=0.3
[/quote]
Irritant dat wordt dus

$language = substr(@$_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);

Zoals Aar al aangaf focus je dan alleen op de eerste bruikbare twee tekens
Jelle - op 05/01/2012 15:32:42

ik onderdruk de foutmelding omdat als de variable niet bestaat (misschien bij sommige browsers?) dan boeit de error me niet en wil ik gewoon dat het script verder gaat (en die wordt dan doorverwezen bij de default)

Browsers bepalen nooit of een variabele wel of niet moet bestaan. Als een browser niks nuttigs erin wil invullen, levert PHP deze gewoon leeg op. Dus die @ kan gewoon weg.

Dus kan iemand mij dan een goed voorbeeld geven wat ik direct in mijn head kan plaatsen, waarbij ik alleen de link hoeft te veranderen
Probeer zelf eens wat, er zijn al voorbeelden gegeven...
Er wordt net verteld dat' dat voorbeeld niet klopt of niet werkt, dus dan lijkt me dat geen goed voorbeeld.
Met de aangepaste regel van Jelle werkt het nu wel.
Oké, ven testen.

[size=xsmall]Toevoeging op 05/01/2012 16:14:06:[/size]

Beste,

$language = @$_SERVER['HTTP_ACCEPT_LANGUAGE']; // not sure if it always exist

switch($language){

case 'nl':
header('Location: http://serveip.nl';);
break;

case 'be':
header('Location: http://serveip.be';);
break;

default:
header('Location: http://serveip.nl';);
}

?>

Maar als ik nu dus naar serveip.nl gaat normaal, linkt die door naar https://serveip.nl alleen dan laat die opeens niet meer,

en krijg ik dit te zien,
De webpagina op https://serveip.nl/ heeft geleid tot te veel omleidingen.

Reageren