Pagina: « vorige 1 2
08/05/2009 17:59:00
je hebt je header voor de if gezet ipv na de if.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$language = substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2);
if($language == 'nl')
header('location: **.nl/NL.php');
elseif($language == 'de')
header('location: **.nl/DE.php');
elseif($language == 'en')
header('location: **.nl/EN.php');
else
header('location: **.nl/EN.php');
?>
@Thijs Damen: Dan zie jij Google en meerdere sites ook in 't engels want dit wordt wel vaker gebruikt zo. Dan is 't toch ook niet erg dat je zijn site in 't engels ziet. Jij wil graag alles engels dus 't is ook een beetje je eigen keuze. En anders klik je even op het rood wit blauwe vlaggetje, ook geen probleem.
Gewijzigd op 01/01/1970 01:00:00 door
Michael -
24/11/2024 10:31:24
08/05/2009 18:06:00
Ik exact hetzelfde als jij hierboven maar krijg weer deze foutmelding:
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 12
08/05/2009 19:23:00
@jjriet: post even de code van ok.php van regel 1 tot 13.
@Turmin: Nee hoor.
google is gewoon nederlands.
Youtube is engels voor youtube.com en nederlands voor youtube.nl
bol.com stuurt me door naar .nl
http://wikipedia.org/ vraagt naar de taal die ik graag wil zien.
Alle website gebruiken hun eigen voorkeur.
Jij moet zelf tijdens het programmeren beslissen welke optie jij gaat toepassen..
09/05/2009 00:16:00
Dit is mijn code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$language = substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2);
if($language == 'nl')
header('location: **.nl/NL.php');
elseif($language == 'de')
header('location: **.nl/DE.php');
elseif($language == 'en')
header('location: **.nl/EN.php');
else
header('location: **.nl/EN.php');
?>
Ik heb het niet in de head maar tussen de body's geplaatst.
09/05/2009 09:59:00
Het moet zoals al meermaals gezegd VOOR alle html komen..
En waarom die laatste nutteloze elseif voor engels? De stap erna is toch zowieso engels..
09/05/2009 13:18:00
Ik heb het er nu voor gezet.
Die laatste is bedoeld dat als de taal anders is dan NL, FR of EN dat hij dan toch naar EN gaat.
Dit is mijn code nu:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$language = substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2);
header('location: **.nl/NL.php')
if($language == 'nl');
header('location: **.nl/FR.php')
elseif($language == 'fr');
header('location: **.nl/EN.php')
elseif($language == 'en');
header('location: **.nl/EN.php')
else;
?>
Deze foutmelding krijg ik nu:
Parse error: syntax error, unexpected T_IF in /customers/**.nl/**.nl/httpd.www/ok.php on line 13
09/05/2009 13:43:00
Ik vraag me af wat google gebruikt, of ik nou naar google.ch google.com google.fr ga.
Ik krijg altijd google in het nederlands, ook heb ik engels xp met browser taal engels ik krijg altijd nedrelands maar ik heb nog nooid mijn taal ingesteld bij google.
Ik heb ook nog nooit gehad dat ik google in een verkeerde taal kreeg.
Hun script werk voor bijna 90% denk.
09/05/2009 13:52:00
Dat denk ik ook maar in mijn geval is het niet zo'n ramp dat bezoekers op de engelstalige versie komen. Het zijn internationaal georienteerde personen die allen goed Engels spreken.
Kortom het script moet goed werken maar 100% perfectie in het aantal op de juiste taal treffende bezoekers streef ik NIET na.
Ik denk dat mijn script zoals hierboven (MAAR DAN WEL WERKEND) deze eenvoud ook nastreeft ?
09/05/2009 15:57:00
oké, het werkt!
Met VOOR begreep ik dat het binnen de body's moet blijven. Ik heb het nu helemaal bovenin het script gezet en het werkt.
Merci!
Gelieve Niet Bumpen::Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de
knop om je tekst aan te passen.
SanThe.
09/05/2009 17:19:00
Wat is je code nu? Kwestie om mensen te informeren de hier toekomstig ook problemen mee hebben.
09/05/2009 18:34:00
gewoon zoals hierboven (zoals ik al eerder aangaf). Ik zette het echter steeds binnen de body's. Dat moet niet. Het moet voor de HTML-codes!
09/05/2009 19:46:00
Kan je me dan eens het nut uitleggen van dit stuk van je code?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
<?
...
if($language == 'en')
header('location: **.nl/EN.php');
else
header('location: **.nl/EN.php');
?>
09/05/2009 22:36:00
Waarom zo'n vervelend IF structuur? Hiervoor zijn switches juist zo makkelijk.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$language = substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2);
swtich($language) {
case 'nl':
header('Location: /NL.php');
break;
case 'fr':
header('Location: /FR.php');
break;
case 'en':
default:
header('Location: /EN.php');
}
?>
11/05/2009 23:10:00
@Hipska: als je als landcode ES Spaans dus hebt ingestelt kom je op de Engelse terecht.
Vandaar die laatste else.
11/05/2009 23:22:00
@jjriet
Klopt. maar waarom die if dan nog?
Als je 'EN' bent of niet. en je komt daar. ga je ziwiezo naar de EN site. Waarom dan nogeen keer controleren of iemand EN is?
11/05/2009 23:24:00
Ik vermoed dat Hipska bedoelt dat je dan net zo goed de if($lang == 'en') weg kan laten. Scheelt weer regels, niet echt dramatisch belangrijk, maar handig jezelf aan te leren geen dubbele dingen te gebruiken (zo heb jij dus nu 2x een header naar EN.php).
edit: Ben een beetje langzaam met typen zie ik :P
12/05/2009 15:21:00
klopt inderdaad: eigelijk slaat het nergens op: ik zal die laatste if verwijderen.