Hallo Tweakers,
Ik heb een script waarmee ik de language van de bezoeker bepaal. Door een of andere vage reden werkt dit niet op MAC/Safari, waarschijnlijk omdat de headers van deze browser anders zijn. Kan iemand mij ttips geeveen / een aanpassing doen in onderstaand script, waarschijnlijk is het maar een kleinigheeid maar ik kon met google niet tot een gewenst resultaat komen.
Alvast dank.
Ik heb een script waarmee ik de language van de bezoeker bepaal. Door een of andere vage reden werkt dit niet op MAC/Safari, waarschijnlijk omdat de headers van deze browser anders zijn. Kan iemand mij ttips geeveen / een aanpassing doen in onderstaand script, waarschijnlijk is het maar een kleinigheeid maar ik kon met google niet tot een gewenst resultaat komen.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
| <?php
// Controleer of de taal handmatig wordt ingesteld
if(isset($_GET["lang"]) AND $_GET["lang"] !== "")
{
$_SESSION["lang"] = strtolower($_GET["lang"]);
$_SESSION['htmllang'] = 'nl';
if(!empty($_SERVER['HTTP_REFERER']))
{
header("Location: ".$_SERVER['HTTP_REFERER']);
}
else
{
header("Location: index.php");
}
}
elseif(!isset($_SESSION["lang"]) OR $_SESSION["lang"] == "")
{
// Controleer of de browser een taal meestuurt
if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE']))
{
$langs = explode(",",$_SERVER['HTTP_ACCEPT_LANGUAGE']);
$httptaal = strtoupper($langs[0]);
$dbtaal = $db->query("SELECT * FROM talen WHERE afk='" . $httptaal . "' LIMIT 1");
if($db->num_rows($dbtaal) > 0)
{
$uitvoertaal = $db->assoc($dbtaal);
$lang = $uitvoertaal['id'];
$_SESSION['lang'] = $uitvoertaal['id'];
$_SESSION['htmllang'] = $httptaal;
}
}
elseif(!isset($_SESSION["lang"]))
{
$lang_ophalen1 = $db->query("SELECT * FROM talen WHERE standaard='1'");
$talen1 = $db->assoc($lang_ophalen1);
$_SESSION["lang"] = $talen1['id'];
$_SESSION['htmllang'] = strtolower($talen1['afk']);
}
}
?> |
Alvast dank.