Jag har gjort två ändringar i filen lang.php. Denna fil fungerade inte med "register_globals = off", det är nu fixat. Ändrade också så att man skickas till den sidan man var på när man byter språk. I den förra versionen skickas man alltid till index-sidan.
<?php
// lang.php ----------
// Spara ditt val i en kaka
if ($_GET['action'] == "set_language") {
setcookie('language',$_GET['type'],(time()+2592000),'/','',0);
header('Location: '.$_SERVER['HTTP_REFERER']);
exit;
}
?>
Kom dock ihåg att HTTP_REFERER inte alltid har ett vettigt värde, då vissa brandväggar (exempelvis Norton Internet Security) tycker det är skojigt att tömma den headern. Compusas förbättring kommer således inte alltid att fungera. Kanske skall man kontrollera detta med en if-sats, typ:
<?
// --------------------
// index.php
// --------------------
include "includes/header.php";
echo "<h2>" . _WELCOME_ . "</h2>";
?>
<?
include "includes/footer.php";
?>
Alla filer finns med i rar filen, bara att packa upp & testa. Jag har själv dock inte testat :) reservation för småfel..
Edit: ehum.. har redan "glömt" lite som nu fattas i rar-filen, bl.a att kunna välja engelska i header.php och @nders redirect i lang.php .. men .. wtf .. det här är ändå mest ett exempel som kan vara en grund att spinna vidare på.
<?php
// main.php ----------
// på alla dina sidor
// kollar om en kaka är satt
if (isset($_COOKIE['language'])) {
$lang = $_COOKIE['language'];
} else {
$lang = "sv";
}
// inkluderar rätt språk fil
$langfile = $_SERVER['DOCUMENT_ROOT']."/language/language_".$lang.".php";
if (file_exists($langfile)) {
include $langfile;
} else {
echo "<h2>Hold your horses!</h2>";
echo "Document language-file is missing!<br />\n";
echo "<a href=\"http://www.microsoft.com\">Some link</a>";
exit;
}
?>
<!-- Länkar -->
<a href="/lang.php?action=set_language&type=sv"><img class="lang" src="/images/sv.gif" alt="Svenska" /></a>
<a href="/lang.php?action=set_language&type=de"><img class="lang" src="/images/de.gif" alt="Deutsch" /></a>
På detta vis blir språk alltså svenska men hur eller på vilken sätt kan man ändra kod så att språk på sidan blir den som man har i sin webbläsare samma som har exempel Google, i så fall finns inte den språk som finns på sidan blir exempel svenska som först, kan någon sånt?
På detta vis blir språk alltså svenska men hur eller på vilken sätt kan man ändra kod så att språk på sidan blir den som man har i sin webbläsare samma som har exempel Google, i så fall finns inte den språk som finns på sidan blir exempel svenska som först, kan någon sånt?
Typ så här borde väl gå fint, finns inte rätt språkfil så inkluderar man default språket. Vill man byta språk så anropar man ?lang=annat_språk. Det bygger på HTTP_ACCEPT_LANGUAGE (ex: en/sv/fi/de för engelska/svenska/finska/tyska) så man måste döpa språkfilerna rätt