Förutsättningen för att sessions ska funka är att du har
session_start();
högst upp i alla filer där du använder dig av det. Då kan du göra en vanlig tilldelning:
$_SESSION['sessIndex'] = $index;
för att lagra värdet.
Då kan du på följande sidor använda värdet genom att kolla värdet på sessionsvariabeln, tex:
if (isSet($_SESSION['sessIndex']) && $_SESSION['sessIndex'] == x) //.....
Dessutom ska man helst låta indexet i $_SESSION börja med något speciellt så att det aldrig heter samma sak som variabler utanför denna array. Tex genom prefixet sess.
Dessutom ska man helst låta indexet i $_SESSION börja med något speciellt så att det aldrig heter samma sak som variabler utanför denna array. Tex genom prefixet sess.
Exakt varför är detta bra? Kan det hända något hemskt annars?
Dessutom ska man helst låta indexet i $_SESSION börja med något speciellt så att det aldrig heter samma sak som variabler utanför denna array. Tex genom prefixet sess.
Exakt varför är detta bra? Kan det hända något hemskt annars?
När register_globals är satt kommer sessionsvariabeln då att byta värde, till det värde variabeln har.
Har du en $_SESSION['var'] och kör $var=5, så kommer, om register_globals är satt, också $_SESSION['var'] att få värdet 5.
Har för mig att jag dessutom någon gång råkat ut för detta (variabelkrock) då jag haft en $_POST['var'] eller liknande och register_globals satt, men det är jag inte helt säker på.
Att det är en array gör ingen skillnad, arrayen kommer då vid register_globals satt att läggas i sessionsvariabeln.
Är du medveten om det så är det okej på den server du ligger på nu, som har register_globals Off, men det är något att ha i bakhuvudet framöver när du skriver skript för andra servrar eller vill flytta ditt skript till annat webbhotell.
Alltså försöka göra sitt skript så portabelt som möjligt.