/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Hvad gør jeg? cookie/header problem!
Fra : Jens Søgaard Hansen


Dato : 17-02-02 04:30

Hej NG!

Jeg har netop siddet og fumlet med et (uløseligt?) problem i timevis!
Problemet er at jeg tilsyneladende ikke kan sætte en cookie med:

setcookie("cookienavn", "cookieværdi");

umiddelbart før jeg kalder:

header("Location: " . $referer_url);
exit;

Jeg skal bruge det i forbindelse med en autologin funktion, hvor autologin
variablen i cookien skal nulstilles når brugeren logger ud!

Hvis der er nogen der kender til problemet og har en fiks løsning på det så
ville jeg være ekstremt interesseret i at høre nærmere

mvh. Jens




 
 
Thomas Olsen (17-02-2002)
Kommentar
Fra : Thomas Olsen


Dato : 17-02-02 08:16

> Jeg har netop siddet og fumlet med et (uløseligt?) problem i timevis!
> Problemet er at jeg tilsyneladende ikke kan sætte en cookie med:
> setcookie("cookienavn", "cookieværdi");
> umiddelbart før jeg kalder:
> header("Location: " . $referer_url);
> exit;
Nu skriver du ikke fejlmeddelsen, Men hvis det er noget i retning af
"Headers already sent..." er det fordi du outputter etellerandet, før
setcookie.
måske kun et mellemrum? Tjek at der ikke er nogetsomhelst før det første <?
!
mvh Thomas



Jens Søgaard Hansen (17-02-2002)
Kommentar
Fra : Jens Søgaard Hansen


Dato : 17-02-02 13:22

"Thomas Olsen" <thomasolsen@proceptiva.dk> skrev i en meddelelse
news:3c6f58c5$0$62866$edfadb0f@dspool01.news.tele.dk...
> > Jeg har netop siddet og fumlet med et (uløseligt?) problem i timevis!
> > Problemet er at jeg tilsyneladende ikke kan sætte en cookie med:
> > setcookie("cookienavn", "cookieværdi");
> > umiddelbart før jeg kalder:
> > header("Location: " . $referer_url);
> > exit;
> Nu skriver du ikke fejlmeddelsen, Men hvis det er noget i retning af
> "Headers already sent..." er det fordi du outputter etellerandet, før
> setcookie.
> måske kun et mellemrum? Tjek at der ikke er nogetsomhelst før det første
<?

Jeg prøvede at lave en lille test på en side hvor der ikke var andet end
ovenstående. Jeg lavede så et link på en anden siden hvor jeg udskrev
cookiens værdi og et link til den side hvor jeg sætte cookien. $referer_url
blev selvfølgelig sat til den side hvor linket var.

Alt syntes umiddelbart at virke (uden nogen fejlmeddelelser overhovedet) dog
lige med den hage at cookiens værdi aldrig blev ændret! Snøft!

Hvis jeg på udlod header("Location: . $referer_url); exit; og brugte
browserens tilbageknap for at komme tilbage til den side hvor jeg havde
linket og udskrev cookiens værdi. Ja, så blev cookiens værdi ændret!

Det ser altså ud som om man ikke kan ændre en cookies værdi hvis man på
samme side bruger header("Location: url") Er dette virkelig rigtigt?

mvh. Jens





Niels Andersen (17-02-2002)
Kommentar
Fra : Niels Andersen


Dato : 17-02-02 15:37

"Jens Søgaard Hansen" <jens.s.hansen@image.dk> wrote in message
news:3c6fa01b$0$232$edfadb0f@dspool01.news.tele.dk...
> Det ser altså ud som om man ikke kan ændre en cookies værdi hvis man på
> samme side bruger header("Location: url") Er dette virkelig rigtigt?

Hmm... Serveren skulle vel ikke være en IIS?

--
Mvh.

Niels Andersen



Jakob Jensen (17-02-2002)
Kommentar
Fra : Jakob Jensen


Dato : 17-02-02 17:06

Jeg har oplevet noget af det samme på en Linux Apache server. Det virker som
om, at header location simpelthen redirecter før cookien er blevet sat,
selvom det ikke burde kunne lade sig gøre, når cookien bliver sat før
headeren.

Mvh. Jakob Jensen
http://www.debatkat.dk

"Niels Andersen" <niels-usenet@myplace.dk> wrote in message
news:XgPb8.13943$5L3.606179@news010.worldonline.dk...
> "Jens Søgaard Hansen" <jens.s.hansen@image.dk> wrote in message
> news:3c6fa01b$0$232$edfadb0f@dspool01.news.tele.dk...
> > Det ser altså ud som om man ikke kan ændre en cookies værdi hvis man på
> > samme side bruger header("Location: url") Er dette virkelig rigtigt?
>
> Hmm... Serveren skulle vel ikke være en IIS?
>
> --
> Mvh.
>
> Niels Andersen
>
>



Thomas Olsen (18-02-2002)
Kommentar
Fra : Thomas Olsen


Dato : 18-02-02 00:48

"Jakob Jensen" <webmaster@debatkat.dk> wrote in message
news:a4ok73$q5c$1@sunsite.dk...
> Jeg har oplevet noget af det samme på en Linux Apache server. Det virker
som
> om, at header location simpelthen redirecter før cookien er blevet sat,
> selvom det ikke burde kunne lade sig gøre, når cookien bliver sat før
> headeren.

I php manualen står der noget om at hvis man vil slette og skrive til
cookies i samme script, skal det gøres i omvendt rækkefølge! Det er måske
det, der sker her... Man redirectes før cookien skrives ? Læs cookie
sektionen i manualen...
mvh Thomas



Jens Søgaard Hansen (18-02-2002)
Kommentar
Fra : Jens Søgaard Hansen


Dato : 18-02-02 03:48

"Thomas Olsen" <thomasolsen@proceptiva.dk> skrev i en meddelelse
news:3c704113$0$230$edfadb0f@dspool01.news.tele.dk...
> "Jakob Jensen" <webmaster@debatkat.dk> wrote in message
> news:a4ok73$q5c$1@sunsite.dk...
> > Jeg har oplevet noget af det samme på en Linux Apache server. Det virker
> som
> > om, at header location simpelthen redirecter før cookien er blevet sat,
> > selvom det ikke burde kunne lade sig gøre, når cookien bliver sat før
> > headeren.
>
> I php manualen står der noget om at hvis man vil slette og skrive til
> cookies i samme script, skal det gøres i omvendt rækkefølge! Det er måske
> det, der sker her... Man redirectes før cookien skrives ?

Den samme tanke fik jeg selv, men dette virkede desværre ikke I øvrigt
skulle det vist nok være ændret i version 4 af php hvis jeg har forstået
rigtigt?

Som jeg skrev andet steds så virkede scriptet fint på en anden server
(Apache) som jeg først alt for sent fik testet på. Den server der driller er
en IIS 5.0. Men hvad problemet skyldes ved jeg stadig ikke.

mvh. Jens





Niels Andersen (18-02-2002)
Kommentar
Fra : Niels Andersen


Dato : 18-02-02 06:48

"Jens Søgaard Hansen" <jens.s.hansen@image.dk> wrote in message
news:3c706b28$0$62894$edfadb0f@dspool01.news.tele.dk...
> Den server der driller er
> en IIS 5.0. Men hvad problemet skyldes ved jeg stadig ikke.

Jeg har læst adskillige gange, at IIS nægter at sætte en cookie og redirecte
på samme tid. Gider dog ikke lige lede efter en URL lige nu.

--
Mvh.

Niels Andersen



Jens Søgaard Hansen (18-02-2002)
Kommentar
Fra : Jens Søgaard Hansen


Dato : 18-02-02 03:42

"Niels Andersen" <niels-usenet@myplace.dk> skrev i en meddelelse
news:XgPb8.13943$5L3.606179@news010.worldonline.dk...
> "Jens Søgaard Hansen" <jens.s.hansen@image.dk> wrote in message
> news:3c6fa01b$0$232$edfadb0f@dspool01.news.tele.dk...
> > Det ser altså ud som om man ikke kan ændre en cookies værdi hvis man på
> > samme side bruger header("Location: url") Er dette virkelig rigtigt?
>
> Hmm... Serveren skulle vel ikke være en IIS?

Jo, det gør den faktisk IIS 5.0!

Jeg havde selvfølgelig ikke tænkt på at se om scriptet virkede på en anden
server og skulle derfor lige teste scriptet online på en Apache og her
VIRKEDE det fuldstændig efter hensigten! Hmmm... Jeg må indrømme at jeg
endnu ikke har fundet ud af hvor problemet ligger når jeg kører scriptet på
den anden server (IIS), ud over at det som du er inde på nok har noget med
netop serveren at gøre?

Men som sagt så virker det på den server scriptet til sin tid skal ligge på
og da det ikke nogen større betydning har i forbindelse med udviklingen af
sitet så får jeg nok ikke gjort mere ud af det.

mvh. Jens og mange tak for hintet :)






Christian Schmidt (18-02-2002)
Kommentar
Fra : Christian Schmidt


Dato : 18-02-02 18:32

"Jens Søgaard Hansen" wrote:
>
> "Niels Andersen" <niels-usenet@myplace.dk> skrev i en meddelelse
> news:XgPb8.13943$5L3.606179@news010.worldonline.dk...
> > "Jens Søgaard Hansen" <jens.s.hansen@image.dk> wrote in message
> > news:3c6fa01b$0$232$edfadb0f@dspool01.news.tele.dk...
> > > Det ser altså ud som om man ikke kan ændre en cookies værdi hvis man på
> > > samme side bruger header("Location: url") Er dette virkelig rigtigt?
> >
> > Hmm... Serveren skulle vel ikke være en IIS?
>
> Jo, det gør den faktisk IIS 5.0!

Hvis du kører PHP i CGI-versionen, er forklaringen (og et workaround) at
finde her:

http://support.microsoft.com/support/kb/articles/Q176/1/13.ASP


Christian

-Martin- (17-02-2002)
Kommentar
Fra : -Martin-


Dato : 17-02-02 18:56

den Sun, 17 Feb 2002 13:21:54 +0100 skrev "Jens Søgaard Hansen"
<jens.s.hansen@image.dk> :

>"Thomas Olsen" <thomasolsen@proceptiva.dk> skrev i en meddelelse
>news:3c6f58c5$0$62866$edfadb0f@dspool01.news.tele.dk...
>> > Jeg har netop siddet og fumlet med et (uløseligt?) problem i timevis!
>> > Problemet er at jeg tilsyneladende ikke kan sætte en cookie med:
>> > setcookie("cookienavn", "cookieværdi");
>> > umiddelbart før jeg kalder:
>> > header("Location: " . $referer_url);
>> > exit;
>> Nu skriver du ikke fejlmeddelsen, Men hvis det er noget i retning af
>> "Headers already sent..." er det fordi du outputter etellerandet, før
>> setcookie.
>> måske kun et mellemrum? Tjek at der ikke er nogetsomhelst før det første
><?
>
>Jeg prøvede at lave en lille test på en side hvor der ikke var andet end
>ovenstående. Jeg lavede så et link på en anden siden hvor jeg udskrev
>cookiens værdi og et link til den side hvor jeg sætte cookien. $referer_url
>blev selvfølgelig sat til den side hvor linket var.
>
>Alt syntes umiddelbart at virke (uden nogen fejlmeddelelser overhovedet) dog
>lige med den hage at cookiens værdi aldrig blev ændret! Snøft!
>
>Hvis jeg på udlod header("Location: . $referer_url); exit; og brugte
>browserens tilbageknap for at komme tilbage til den side hvor jeg havde
>linket og udskrev cookiens værdi. Ja, så blev cookiens værdi ændret!
>
>Det ser altså ud som om man ikke kan ændre en cookies værdi hvis man på
>samme side bruger header("Location: url") Er dette virkelig rigtigt?
>
>mvh. Jens
>

Din browser ska jo også kunne snakke med cookies (hvis du altså ikk
mener sessions) .. før den kan sende en cookie


Søg
Reklame
Statistik
Spørgsmål : 177506
Tips : 31968
Nyheder : 719565
Indlæg : 6408562
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste