WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Problem med tappade sessioner [PHP] (https://www.wn.se/forum/showthread.php?t=12728)

linusanderas 2006-03-02 09:36

Tror jag håller på att bli galen:
När jag använder någon av följande rader så tappar min server alla session-värden…

Kod:

setcookie ("tom", $tom, time() + 3600*30, "/site/");
setcookie ("visa", $visa, time() + 3600*30, "/site/");

Variabeln $tom = ”JA”
Varianeln $visa = ”rub”

Men t.ex. följande funkar helt ok:

Kod:

setcookie ("ar", $ar, time() + 3600*30, "/site/");
Någon som förstår varför?

kullervo 2006-03-02 18:09

Istället för att skicka massa kod och en förklaring på vad du antar att den gör så är det bättre att du postar HTTP-headern som setcookie() genererar.

linusanderas 2006-03-02 19:10

Den genererar inget allt, eller så förstår jag inte frågan...

kullervo 2006-03-03 00:56

Sniffa trafiken mellan webbservern och webbläsaren så du ser vad som skickas innan HTML-koden kommer (HTTP-huvudet där alla cookies sätts). Du kan annars göra det smidigt med att installerade webdeveloper-plugin:et till Firefox. Med den kan du nämligen se alla cookies.

zoran 2006-03-03 07:30

Citat:

Originally posted by kullervo@Mar 3 2006, 01:56
Sniffa trafiken mellan webbservern och webbläsaren så du ser vad som skickas innan HTML-koden kommer (HTTP-huvudet där alla cookies sätts). Du kan annars göra det smidigt med att installerade webdeveloper-plugin:et till Firefox. Med den kan du nämligen se alla cookies.
Ett annat tips för felsökning är "Fiddler". Mycket bra liten applikation. Det den gör är att den lägger sig som en "proxy" mellan din webbläsare och server och man kan enkelt följa trafiken och analysera den. Mycket lättare att använda Fiddler än att använda en generisk trafikanalysator som Ethereal eller liknande.

linusanderas 2006-03-03 07:58

I Firefox fungerar det så länge jag inte väljer att visa "View Response Headers"
Verkar som om han då laddar om sidan utan datan från formuläret och på så sätt skapar en felaktig sida.

Återkommer när jag hunnit testa något av de andra programmen…

linusanderas 2006-03-03 08:13

Kod:

HTTP/1.1 200 OK
Date: Fri, 03 Mar 2006 07:47:02 GMT
Server: Apache/1.3.34 (Unix) PHP/5.0.5 mod_ssl/2.8.25 OpenSSL/0.9.7a mod_perl/1.29 FrontPage/5.0.2.2510
X-Powered-By: PHP/5.0.5
Set-Cookie: k2=OFF; expires=Sat, 04 Mar 2006 13:47:02 GMT; path=/site/
Set-Cookie: k20=OFF; expires=Sat, 04 Mar 2006 13:47:02 GMT; path=/site/
Set-Cookie: k17=ON; expires=Sat, 04 Mar 2006 13:47:02 GMT; path=/site/
Set-Cookie: k18=ON; expires=Sat, 04 Mar 2006 13:47:02 GMT; path=/site/
Set-Cookie: k19=ON; expires=Sat, 04 Mar 2006 13:47:02 GMT; path=/site/
Set-Cookie: k21=ON; expires=Sat, 04 Mar 2006 13:47:02 GMT; path=/site/
Set-Cookie: k22=ON; expires=Sat, 04 Mar 2006 13:47:02 GMT; path=/site/
Set-Cookie: o2=OFF; expires=Sat, 04 Mar 2006 13:47:02 GMT; path=/site/
Set-Cookie: o3=ON; expires=Sat, 04 Mar 2006 13:47:02 GMT; path=/site/
Set-Cookie: o4=ON; expires=Sat, 04 Mar 2006 13:47:02 GMT; path=/site/
Set-Cookie: o5=ON; expires=Sat, 04 Mar 2006 13:47:02 GMT; path=/site/
Set-Cookie: o7=ON; expires=Sat, 04 Mar 2006 13:47:02 GMT; path=/site/
Set-Cookie: o8=ON; expires=Sat, 04 Mar 2006 13:47:02 GMT; path=/site/
Set-Cookie: o9=ON; expires=Sat, 04 Mar 2006 13:47:02 GMT; path=/site/
Set-Cookie: o10=ON; expires=Sat, 04 Mar 2006 13:47:02 GMT; path=/site/
Set-Cookie: o11=ON; expires=Sat, 04 Mar 2006 13:47:02 GMT; path=/site/
Set-Cookie: manad=3; expires=Sat, 04 Mar 2006 13:47:02 GMT; path=/site/
Set-Cookie: ar=2006; expires=Sat, 04 Mar 2006 13:47:02 GMT; path=/site/
Set-Cookie: x_axeln=ort; expires=Sat, 04 Mar 2006 13:47:02 GMT; path=/site/
Set-Cookie: tom=JA; expires=Sat, 04 Mar 2006 13:47:02 GMT; path=/site/
Transfer-Encoding: chunked
Content-Type: text/html

Det är när jag kommer till följande rad som han tappar sessionen.

Kod:

Set-Cookie: tom=JA; expires=Sat, 04 Mar 2006 13:47:02 GMT; path=/site/
Det slår mig nu att det kan bero på att det finns någon maxgräns i IE för hur många kakor jag kan sätta... Kommentar på det?

Charlie 2006-03-03 10:30

Du skulle kunna omarbeta scriptet till att spara en cookie liknandes

set-Cookie: k=2-off:20-off:17-on:18-on:1-on:21-on:22-on; expires=Sat, 04 Mar 2006 13:47:02 GMT; path=/site/

och samma sak med o.

sedan kan du tolka det när du hämtar cookien.

edit: (eller skapa något slags bitmönster som du kan bitmaska fram värden ur)

linusanderas 2006-03-03 10:38

Jag har redan fixat det på det sättet.

Kan tänka mig att det även blir en anings prestandaökning eftersom det blir ett gäng mindre kakor att hämta.

Men jag fattar fortfarande inte varför han tappar sessions-kakan när han håller kvar alla andra. Antar att det bara är att gilla läget…

PeterM 2006-03-03 10:40

Det är IE som har en begränsning på 20 cookies per domän (eller 4KB data om det kommer först). Avdelningen för godtyckliga begränsningar.

linusanderas 2006-03-03 10:44

Då har man fått det förklarat för sig...

Alltid lär man sig något nytt.


Alla tider är GMT +2. Klockan är nu 19:31.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson