Jag har en fullt fungerande sida - på min dator. När jag sedan kör den på webbhotellet händer massa konstiga saker. Bland annat ändrar $_SESSION-variablen jag använder för att kolla om man är inloggad värde titt som tätt. Jag sätter endast den när man loggar in och ändrar därefter inte den. Har försökt att leta reda på något som kan hjälpa mig, men förgäves. Finns det någon som vill förklara för mig vad jag gör för fel? Har det med sökvägen till mappen där sessionvariablarna ligger? Expiretime? Jag är nollställd och så förbannat trött på att det inte funkar på webbhotellet...
Problem med $_SESSION
4 svar · 357 visningar · startad av tHorSeYE
Ser du till att kalla på session_start(); i början av varje fil? Det bör inte funka alls annars, oavsett om du kör på din eller hotellets maskin, men det kan vara värt ett försök.
Jodå, session_start() körs i början av varje fil (eller ja, nu ligger det i en includefil som inkluderas högst upp i varje fil, men det funkar väl lika bra)
Måste man göra något mer för att det ska fungera? Jag har inte ställt in någon sökväg till session.save_path t.ex. men enligt hotellets phpinfo() ska mappen vara /tmp. Jag har en mapp som heter så som är chmodad till 777. Men nejnej, det funkar inte ändå.
Det som händer är att sessionvariablen byter värde ungefär varannan, var tredje gång man byter sida. Varför!? Värdet existerar, jag är inloggad men varför byts det!?
Det låter som en variabelkrock.
Är register_globals satt så är $variabel och $_SESSION['variabel'] samma sak, så har du $_SESSION['id'] och någonstans i din kod gör en tilldelning till $id kommer även din sessionsvariabel att byta värde.
Det är därför att rekommendera att man alltid ser till att få ett unikt index på sin sessionsvariabel, t.ex. genom att använda ett prefix typ $_SESSION['sess_var'] eller $_SESSION['sVar'].
Underbart när någon verkligen har svar på tal! Tack! Det var en variabelkrock som spökade. Nu funkar det utmärkt! =)