Jag har stött på ett mycket irreterande problem!
Ibland läggs "?PHPSESSID=...." till i mina länkar på min webbsida... Varför, vad kan det bero på?? Det fungerar ju oftast som det ska...!
16 svar · 1 066 visningar · startad av learn
Jag har stött på ett mycket irreterande problem!
Ibland läggs "?PHPSESSID=...." till i mina länkar på min webbsida... Varför, vad kan det bero på?? Det fungerar ju oftast som det ska...!
Om du använder dig av sessions så måste klienten (webbläsaren) identifiera sig mot servern varje gång den gör ett anrop för att rätt sessions ska knytas till rätt användare. I normala fall sparas sessionIDt (som används för den här identifikationen) i en cookie på klientens dator, men om ex. användaren stängt av cookies så kommer sessionIDt att skickas med i adressen i varje anrop.
Peeer skrev:
Om du använder dig av sessions så måste klienten (webbläsaren) identifiera sig mot servern varje gång den gör ett anrop för att rätt sessions ska knytas till rätt användare. I normala fall sparas sessionIDt (som används för den här identifikationen) i en cookie på klientens dator, men om ex. användaren stängt av cookies så kommer sessionIDt att skickas med i adressen i varje anrop.
Ok, men jag har inte stängt av cookies i min webbläsare. Som sagt, det fungerar oftast som det ska, men rätt va det är så dyker PHPSESSID upp. Samma dator, samma besök.
R: Det verkar vara så att PHPSESSID endast läggs till i länkarna vid första sidvisningen av min webbplats. Laddar jag om sidan så försvinner det...
learn skrev:
R: Det verkar vara så att PHPSESSID endast läggs till i länkarna vid första sidvisningen av min webbplats. Laddar jag om sidan så försvinner det...
Precis.
Och vid första sidvisningen finns det vid anropet ingen cookie satt i webbläsaren.
Så har det inte varit förrut, när jag hade min sida på ett annat webbhotell... Då stötte jag aldrig på PHPSESSID.
Någon som tror sig ha ett svar på ovanstående mysterium? :stud
Det uppstår endast då session.use_trans_sid är satt i PHP-konfigurationen.
Matte skrev:
Det uppstår endast då session.use_trans_sid är satt i PHP-konfigurationen.
Ok, ja det stämmer. session.use_trans_sid är satt till 1. Varför, vad innebär det? På mitt tidigare webbhotell var det satt till 0...
learn skrev:
Ok, ja det stämmer. session.use_trans_sid är satt till 1. Varför, vad innebär det? På mitt tidigare webbhotell var det satt till 0...
Här har du lite att läsa om det
http://www.mtdev.com/2002/06/why-you-should-disable-phps-session-use_trans_sid/
OK, tack Pedda.
Eftersom PHPSESSID dyker upp i mina länkar trots att besökaren tillåter cookies så borde jag med andra ord lägga till detta i min .htaccess:
php_flag session.use_trans_sid off
för att slippa att min länkar förstörs....
Eller?
Ja, om det är nu så att du vill ställa krav på cookies.
Jag tycker fortfarande att det är konstigt att PHPSESSID bara läggs till ibland, under samma besök på sidan. Rätt va det är så dyker det upp, och det behöver inte vara första gången jag klickar...
Riktigt mysko!
Kan det vara ngt fel i min kod?? I så fall, kanske ngn annan vart med om detta och kan ge förslag på vad som kan vara fel?
Första gången du på en webbplats gåt på en sida med session_start() läggs PHPSESSID till alla länkar. Följer du länken kommer du att ha det i adressfältet vid nästa klick. Därefter ska det vara borta.
Skulle du då återigen få det i adressfältet någonstans, så innebär det att en ny session startats för användaren. Du måste då fundera på varför.
Kan det vara så att du på ett ställe använt en länk med www i början, och på ett annat ställe utan www ?
Som sagt så behöver det inte vara första klicket... session_start() har jag högst upp på alla sidor, ingen flush (?) dock.
Matte skrev:
[...]Kan det vara så att du på ett ställe använt en länk med www i början, och på ett annat ställe utan www ?
Hmm, kanske det. Ska genast kika på det. Kan det i så fall vara det som är problemet? Tack för tipset!
Matte skrev:
Kan det vara så att du på ett ställe använt en länk med www i början, och på ett annat ställe utan www ?
Någon som vet ifall detta kan ställa till med mitt beskrivna problem??
Ja, det kan få det att uppfattas som två olika domäner, och därmed också två olika sessioner.
Matte skrev:
Ja, det kan få det att uppfattas som två olika domäner, och därmed också två olika sessioner.
Aha, tack för tipset! Återkommer när jag kontrollerat och testat.