Na echt dagen zoeken dacht ik een goede oplossing gevonden te hebben op deze site LINK maar ik krijg het niet werkend.
Kan me hier iemand bij helpen?
Het taal selector script dat ik gebruik.
<?php
session_start();
if(isset($_COOKIE["langset"])){
$_SESSION['lang'] = $_COOKIE["langset"];
}
// Bevat de URL-variabele 'lang' niet minstens 2 tekens voor een
// korte taalcode, gebruik dan de HTTP-header 'Accept-Language':
if ((strlen($_SESSION['lang']) < 2) and (isset($_SERVER['HTTP_ACCEPT_LANGUAGE']))) {
$_SESSION['lang'] = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
}
// $_SESSION['lang'] omzetten in kleine letters:
$_SESSION['lang'] = strtolower($_SESSION['lang']);
// Stel standaard taal in (indien deze nog niet is ingesteld)
if(isset($_SESSION['lang']) == false)
{
$_SESSION['lang'] = 'en';
}
// Gebruik reguliere expressies om langere taalvoorkeuren
// te verwerken.
if (ereg("en", $_SESSION['lang'])) {
$_SESSION['lang'] = "en"; // Engels
} elseif (ereg("nl", $_SESSION['lang'])) {
$_SESSION['lang'] = "nl"; // Nederlands
} elseif (ereg("de", $_SESSION['lang'])) {
$_SESSION['lang'] = "de"; // Duits
} else {
$_SESSION['lang'] = "en"; // Engels
}
if(isset($_GET['lang'])) // Kijk of de gebruiker de taal wil wijzigen
{
$lang= strtolower(trim($_GET['lang']));
if(in_array($lang, array('nl', 'de', 'en'))) // Kijk of de taal beschikbaar is binnen deze website
{
$_SESSION['lang'] = $lang;
}
}
// Taalcode voor HTTP en HTML, en paginatitel instellen:
switch ($_SESSION['lang']) {
case "nl": // Nederlands
$taalcode = "nl";
$title = "Talen in Europa";
break;
case "en": // Engels
$taalcode = "en";
$title = "Languages in Europe";
break;
case "de": // Duits
$taalcode = "de";
$title = "Sprachen in Europa";
break;
default: // Engels is de standaardinstelling
$taalcode = "en";
$title = "Languages in Europe";
}
// HTTP-headers instellen:
if (!headers_sent()) {
header("Content-Language: " . $taalcode);
header("Content-Type: text/html; charset=iso-8859-1");
}
$number_of_days = 30 ;
$date_of_expiry = time() + 60 * 60 * 24 * $number_of_days ;
setcookie ("langset", $_SESSION['lang'], $date_of_expiry) ;
$pup = $_SERVER['REQUEST_URI'];
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="<?php echo $taalcode; ?>">
<head>
<meta http-equiv="Content-Language" content="<?php echo $taalcode; ?>">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title><?php echo $title; ?></title>
</head>
<body lang="<?php echo $taalcode; ?>">
<a href="?pag=pag1">pag 1</a> | <a href="?pag=pag2">pag 2</a><br><br>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get">
<select name="newlanguage" onChange="top.location.href=this.options[this.selectedIndex].value">
<option value="<?php if ($pup == "/test-4" || $pup == "/test-4/" || $pup == "/test-4/index.php"){ echo "?lang=nl"; } else { echo $_SERVER['REQUEST_URI']."&lang=nl"; } ?>" <?php if ($_SESSION['lang'] == nl){ echo "selected"; } ?>>Nederlands</option>
<option value="<?php if ($pup == "/test-4" || $pup == "/test-4/" || $pup == "/test-4/index.php"){ echo "?lang=en"; } else { echo $_SERVER['REQUEST_URI']."&lang=en"; } ?>" <?php if ($_SESSION['lang'] == en){ echo "selected"; } ?>>English</option>
<option value="<?php if ($pup == "/test-4" || $pup == "/test-4/" || $pup == "/test-4/index.php"){ echo "?lang=de"; } else { echo $_SERVER['REQUEST_URI']."&lang=de"; } ?>" <?php if ($_SESSION['lang'] == de){ echo "selected"; } ?>>Deutch</option>
</select></form>
<br>
<?php
$id = $_GET['pag'];
switch($id) {
case "pag1":
if ($_SESSION['lang'] == nl){
include ("includes/languages/dutch.php");
}
if ($_SESSION['lang'] == en){
include ("includes/languages/english.php");
}
if ($_SESSION['lang'] == de){
include ("includes/languages/german.php");
}
break;
case "pag2":
if ($_SESSION['lang'] == nl){
include ("includes/languages/dutch2.php");
}
if ($_SESSION['lang'] == en){
include ("includes/languages/english2.php");
}
if ($_SESSION['lang'] == de){
include ("includes/languages/german2.php");
}
break;
default:
if ($_SESSION['lang'] == nl){
include ("includes/languages/dutch.php");
}
if ($_SESSION['lang'] == en){
include ("includes/languages/english.php");
}
if ($_SESSION['lang'] == de){
include ("includes/languages/german.php");
}
break;
}
?>
</body>
</html>
Op dit adres http://test.kostons.net/test-4/index.php heb ik het taal script staan dan kun je eens kijken wat al wel en wat niet werkt.
Kies maar eens meerdere keren een andere taal maar blijf daarbij op dezelfde pagina dan zal je zien wat er in de url gebeurd.