Philip Nunnegaard wrote:
> "Johan Holst Nielsen" <spam@phpgeek.dk> skrev
>
>> Jeg forstår ikke hvad det præcist er du ønsker at gøre? Hvorfor er GET
>> eller for den sags skyld POST parametren nødvendig? I hvilket tilfælde
>> skal det ske? Og hvorfor?
>
> Jeg bruger det et enkelt sted til at brugeren kan skifte sprog. Men her
> bruger jeg så GET.
> Egentlig bestemmes det af brugerens HTTP_ACCEPT_LANGUAGE, men
> session-variablen overtrumfer så dette.
Jeg bruger det skam også mange steder :) Men det kan være vejlede Frank
korrekt, når man ikke kommer med mere specifikke oplysninger end han gør.
> Den tid det står i URL'en er så kort at man ikke opdgager det, da den
> fil der skifter $_SESSION["sprog"]'s værdi bare er en lille fil der
> slutter med:
> header("location:".$_SERVER["HTTP_REFERER"]);
Det synes jeg så ikke er super sundt. Vil mene det vil være en fordel at
kunne linke til et sprog. Generelt er jeg ikke meget man bruger samme
url til dansk og f.eks. engelsk indhold (med mindre man er klar over
konsekvenserne).
F.eks. vil Google aldrig indeksere begge sprog. Det er lidt ærgerligt -
efter som de i høj grad er derfra brugerne kommer.
Derfore vil jeg klart anbefale at man har en differencering i URL'en
mellem en dansk og en engelsksproget side. Det kan f.eks. være via en
_GET parametre - eller mere "nice" - via f.eks. url'en starter med /en/
og man så laver en lille sød URL rewrite i sin htaccess fil.
> $_SESSION["variabel"] = $nyvaerdi;
> header("location:".$_SERVER["HTTP_REFERER"]); // Brugeren ledes tilbage
Vær lige opmærksom på man kan sætte sin browser til *ikke* at sende en
referer.
Du bør nok ændre koden (hvis du bruger den i livemiljø) til noget ala
$goto = 'default_goto_url'; //typisk url til forsiden!
if(!empty($_SERVER['HTTP_REFERER'])) {
$goto = $_SERVER['HTTP_REFERER'];
}
header("Location: ".$goto); exit();
Derudover bør du tjekke hvad HTTP_REFERER indeholder. Altså at de ligger
indenfor dit domænenavn. :) Blot lidt info - ved ikke om det var live
kode du viste der - eller om det blot var et hurtigt skrevet eksempel.
--
Johan Holst Nielsen
Freelance PHP Developer -
http://phpgeek.dk