webForumDet fria alternativet

Sessions och undermappar, session startar aldrig.

7 svar · 656 visningar · startad av MickeA.com

MickeA.comMedlem sedan feb. 20034 441 inlägg
#1

Hej

Har ett problem med subkataloger och sessioner. Grejen är att när jag postar ett formulär (via ajax) från subfolder 1 till subfolder 2 så dör sessionen.
Mina sidor använder två klasser, en för autentisering och en för sessioner.

Såhär ser strukturen ut:

ROOT
--> Katalog 1
    --> script1.php
   
--> Katalog 2
    --> Inc
        --> autentiseringsklass.php
    --> ajax.php
    --> script2.php

När jag kör filen Katalog 1/script.php är jag inloggad och allt funkar som det ska. Men när jag därifrån postar data via ajax (jQuery) till Katalog 2/ajax.php så finns ingen session där. Jag inkluderar alla object och dom finns, men själva sessionen startar aldrig.
Det sjuka är att när jag kör Katalog 2/script2.php som är en kopia på Katalog 2/script2.php och postar till ajax.php så funkar det som det ska, sessionerna hänger med där.

Kan det ha med cookies att göra, att sessionen bara är giltig i den mappen den sätts?
Har försökt felsöka på diverse sätt, men det är lite bökigt för jag förstår inte alls vad som är fel.

Kan tillägga att session_start(); körs då min sessionsklass inkluderas.

Några förslag?

Tack!

MickeA.comMedlem sedan feb. 20034 441 inlägg
#2

Kan tillägga att jag sitter och testar det här på min laptop med Windows7 och Apache2. Ser nu att session.save_path har no value i min php.ini.

Kan det spela in?

metalboyMedlem sedan jan. 2005953 inlägg
#3

session.save_path tror jag inte ska spela någon roll i detta.
Vad står det vid session.cookie_path?

MickeA.comMedlem sedan feb. 20034 441 inlägg
#4

metalboy skrev:

Vad står det vid session.cookie_path?

Bara /. Så det bör funka, eller?
Kan tillägga att sessionen från början sätts i Katalog 1 men den finns inte när Katalog 2/ajax.php körs.

MickeA.comMedlem sedan feb. 20034 441 inlägg
#5

Nu testade jag att flytta över Katalog 1/script1.php till den andra mappen, så att allt ligger på samma ställe.

Men samma sak, när ajaxscriptet körs så finns ingen session där. Sjukt ju..

metalboyMedlem sedan jan. 2005953 inlägg
#6

Och session_start() körs verkligen i samtliga filer som är inblandade?
Testade själv att lägga filer i två olika mappar i webbroten, och hade inga problem med sessioner.

MickeA.comMedlem sedan feb. 20034 441 inlägg
#7

Japp, det vet jag. Lägger jag till session_start() så får jag ett fel att den redan startars, med hjälp av de inkluderade klasserna.

Jag tror at jag gör om det här lite och struntar i sessioner helt, det är nämligen inte nödvändigt, men var den enklaste lösningen.

/R

Läste på lite också ang. hur object "länkas", eller ärvs, med hjälp av &new ... men som jag förstått det på det jag läst så gäller det bara PHP4, i 5'an så skapas alltid ett alias av det "förra" objektet. Har testat med var_dump() och samma klasser finns på båda sidorna.

MickeA.comMedlem sedan feb. 20034 441 inlägg
#8

Har listat ut nu att det blir såhär såfort man använder ajax från en sida till en annan. På "ajaxsidan" tappar sessionerna alla värden.

Det jag fått göra är att skicka med mina session-värden i den POST-DATA jag skickar till servern.

132 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)