Never mind, jag har upptäckt mina gulliga stavfel. :P
Edit:
Vilket inte heller hjälpte att rätta till. Frågan kvarstår, någon som vet hur detta kan lösas?
3 svar · 600 visningar · startad av SprayMaphia
Har lite problem med en site jag håller på att bygga upp. Siten ska vara både på svenska och engelska och det jag kommit fram till än så länge är en dropdown-meny i index.php som skickar vidare en till en sida som ser ut såhär:
<?php
ob_start();
$newlang = $_GET['lang'];
$_SESSION['lang'] = $newlang;
header("Location: index.php");
ob_flush();
?>
För att sedan kontrollera språket på index.php så gör jag såhär:
<?php
session_start();
/*
* Language
*/
if(!isset($_SESSION['lang']) || (@$_SEEEION['lang']!='se'&&@$_SEEEION['lang']!='en')) {
$_SESSION['lang'] = 'se';
}
$lang = $_SESSION['lang'];
?>
Om jag kollar värdet i den första filen så är allt korrekt där, både $newlang och $_SESSION['lang']. Men i index.php ändras ingenting.
Någon som vet varför och/eller har en bra lösning på detta?
MVH
Christian
Never mind, jag har upptäckt mina gulliga stavfel. :P
Edit:
Vilket inte heller hjälpte att rätta till. Frågan kvarstår, någon som vet hur detta kan lösas?
bör vara så här:
<?php
session_start();
ob_start();
$newlang = $_GET['lang'];
$_SESSION['lang'] = $newlang;
header("Location: index.php");
ob_flush();
?>
d.v.s. du måste ha med session_start() på alla sidor du vill använda $_SESSION[...]
får man fråga varför du gör en ob_start() och ob_flush på den sidan?
Tack för svaret. Funkade bra.
Svar på din fråga: Jag gör det som principsak alltid när jag skickar iväg headers. Vet att det inte behövs när jag inte outputtat något till läsaren, men ändå, jag kanske ändrar på det i framtiden.