Hej Bertel
Jeg ville umiddebart vælge at benytte en sessionvariabel eller at sende
sprogvalget med som en del af url-en.
Hvis du bruger sessionvariable, skal brugerens sprogvalg overføres enten
via get eller post i 1. omgang. Hvis brugeren ikke vælger noget sprog,
kan du sørge for at der vælges et standardsprog.
Du kan lave noget som følgende i toppen af din fil:
<?php
session_start();
//hvis sprogvalg er foretaget af brugeren skift da til valgte sprog:
if(isset($_REQUEST["sprog"]) && !empty($_REQUEST["sprog"])) {
$_SESSION["sprog"] = $_REQUEST["sprog"];
}//if
//hvis der ikke er valgt et sprog, vælges standardsprog:
if(!isset($_SESSION["sprog"]) || empty($_SESSION["sprog"])) {
$_SESSION["sprog"] = "standardsprog";
}//if
?>
Herefter har du det valgte sprog i en sessionvariabel kaldet
$_SESSION["sprog"].
Vælger du i stedet at overføre sprog via url-en, vil din sprogvariabel
findes i $_GET["variabelnavn"].
Hvis du bruger sessionvariablen som en del af sql-sætninger, bør du
tjekke den yderligere.
Hvis man bruger almindelig standardnotation for sprogangivelse ( iso 639
:
http://www.w3.org/WAI/ER/IG/ert/iso639.htm ) kan man tjekke variablens
indhold med preg_match("/^[a-z]{2}[a-z]?$/",$_SESSION["sprog"]).
Mvh Christian
Bertel Lund Hansen wrote:
> Hej alle
>
> Jeg har lavet nogle sider med nogle taldata for bridge. Man kan
> nu vælge mellem dansk og engelsk som sprog, og det virker meget
> godt - hvis der kun er én bruger ad gangen.
>
> Siderne ligger her:
>
http://bertel.lundhansen.dk/bridge/bridgeberegning.php?page=sprog
>
> Når man klikker på en sprogknap, overskrives filen sprogvalg.dat
> og får f.eks. indholdet "English". Denne kode aflæses så ved
> hvert sideskift (siderne styres af en masterfil).
>
> Det betyder at man kan vælge engelsk, læse én side, og når man så
> skifter side, er sproget pludselig dansk fordi en anden har
> ændret det.
>
> Hvordan laves det ordentligt? Hvis svaret er noget med sessions
> eller cookies, må forklaringen gerne være grundig (eller
> indeholde et godt link).
>