Hej alla! Två saker: Hur kan jag på annat sätt med php komma tillbaka till samma sida man precis varit på, efter att cookien lagts till? Har du någon fil som du inkluderar i alla script som innehåller " globala funktioner"? Lägg i sådana fall funktionen där så slipper du hålla på att mecka med redirects.Problem med header
Hoppas ni haft en bra midsommar! Det har jag!
Men nu är jag tillbaka vid datorn med ett problem.
Jag får min "redirect" att fungera, jag vet hur jag ska göra.
Men varför fungerar det inte när jag vill tillbaka till samma sida jag tidigare var. Fattar inte vad som är fel, eller är det något med header som inte fungerar i kombination med $_SERVER["HTTP_REFERER"] ?
Jag vill kunna välja språk som ska visas på webbsidan, å detta gör jag genom att klicka på en ikon som skickar besökaren till sidan som heter "lang.php?lang=en" där "en" är det språk dom klickat på, i detta fall engelska.
Det här ska BARA lägga till en cookie som innehåller just "en" innan den sen ska skicka tillbaka användaren till sidan där han/hon kom ifrån.
Jag tycker jag testat allt.
Här är min kod just nu:
<?php
$redirect = $_SERVER['HTTP_REFERER'];
setcookie("selectedlang", $_REQUEST['lang'], time()+3600);
if ($_COOKIE["selectedlang"]==$_REQUEST['lang'])
{
header("Location: $redirect");
}
else
{
echo "Selected language not loaded, contact administrator!";
}
?>
Hoppas på en bra lösning från er, å ganska snart.
Om inte annat så önskar jag er en fortsatt UNDERBAR sommar!
/FredrikSv: Problem med header
1. Det är inte säkert att referer skickas. Webbläsaren eller brandväggar kan stoppa headern.
2. $_COOKIE["selectedlang"] kommer inte att vara definierad under samma körning som setcookie("selectedlang", ...). Sidan måste laddas om före. Inte heller förstår jag vad du vill med ditt test (if-satsen).Sv:Problem med header
Finns det kanske en HELT annan lösning på mitt problem?
/FredrikSv:Problem med header
Om du nu måste använda redirects så skicka med url:en till retursidan som en parameter till det script som hanterar språkval, glöm dock inte bort att i så fall kolla att url:en går till din sida.
Att enbart använda en cookie för att avgöra språkvalet på din sida är ur sökmotorperspektiv inte bra, du riskerar att få dina sidor indexerade med dubbel content vilket inte är bra. Använd istället url:en för att separera språk, t ex:
http://www.minsida.se/ (grundspråk)
http://www.minsida.se/en/ (engelska)
http://www.minsida.se/de/ (tyska)
Använd .htaccess-regler så att tex http://www.minsida.se/sida.php och http://www.minsida.se/de/sida.php laddar samma script. Du kan då hämta språket ur url:en, därmed inte sagt att du inte även ska använda cookies