Cookie is wel&niet geset :S

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Willem Jan Z

Willem Jan Z

24/12/2005 17:53:00
Quote Anchor link
Beste mensen,

Ik ben erg moe, ik hoop dat het daar aan ligt, maar wat is hier het probleem?

Ik set een cookie:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?
f(setcookie("LiT",$user,time() + 3600*24*7))
{
    
    echo "Cookie geset";
}

else
{
    echo "Cookie is opgegeten";
}

?>


Ik vraag hem op:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?if(isset($_COOKIE['LiT']))
{
    $_SESSION['username'] = $_COOKIE['LiT'];
}
?>


Maar:
Afbeelding
Dus volgens FF is hij geset, maar volgens print_r() niet...
Wie snapt dit? Ik niet meer in ieder geval :S
 
PHP hulp

PHP hulp

23/11/2024 10:43:12
 

24/12/2005 18:24:00
Quote Anchor link
Aha. Daar heb ik op mijn website ook problemen mee gehad. Opeens bleef ik niet ingelogt toen de sessie was verlopen. Ik heb daar een hell aan tijd mee zitten knoeien, en toen werkte het. Toen kon ik alleen niet meer uitloggen :)

Maar ontopic, wat heb ik gedaan? Ik heb aan het cookie een domein en path meegegeven. En toen werkte het. In FireFox (logisch) en ook in Internet Expleurer! Dus probeer dat ook is.
 
Willem Jan Z

Willem Jan Z

24/12/2005 18:26:00
Quote Anchor link
Edit: Moment, even wat proberen

Edit2: Nog niks...
Als ik hem set:
Cookie geset
Array ( [LiT] => wjzijderveld rest cookies)

Als ik check op index:
Noppes :S (behalve de rest van cookies)...

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
if(setcookie("LiT",$_GET['user'],time() + 3600*24*7,"/","localhost/vertalen"))
?>


Edit3:
Volgens FF is hij wel nog geset, en is nog niet verlopen:
zaterdag 31 december 2005 17:51:07
Gewijzigd op 24/12/2005 18:31:00 door Willem Jan Z
 

24/12/2005 18:49:00
Quote Anchor link
Voor mijn domein heb ik op aanraden van php.net ook .triads.buildtolearn.net gedaan, en niet gewoon triads.buildtolearn.net
 
Willem Jan Z

Willem Jan Z

24/12/2005 19:06:00
Quote Anchor link
Het wordt nog gekker... Ik heb nu een bestandje show.php gemaakt, met alleen de print_r($_COOKIE) erin, en daar ziet hij de cookie wel... Dus dan ligt het niet aan het setten lijkt mij...
 
Eric Cartman

Eric Cartman

24/12/2005 19:13:00
Quote Anchor link
Nee, dan zou het aan de browser liggen, misschien dat je dat even uit hebt gezet of iets dergelijks... Heb ik ook wel 's...
 
Arjan Kapteijn

Arjan Kapteijn

24/12/2005 19:15:00
Quote Anchor link
Een expiriment...

Je kan volgens mij _niet_ een cookie zetten, en hem gelijk gebruiken/issetten.

Pas na een f5 van de pagina is die cookie beschikbaar.

Dus als jij een cookie set, en daarna op f5 drukt zal hij er zijn.
 
Willem Jan Z

Willem Jan Z

24/12/2005 19:30:00
Quote Anchor link
Als iets bij mij niet werkt zoals ik wil, druk ik altijd uit frustratie 20x op F5 :P Dus dat zal het niet zijn...
En wat bedoel jij Jip? Dat cookies uit staat? Toch raar dat FF ze wel ziet, en als ik ze in een losse pagina oproep hij ook gewoon zichtbaar is...
 
Willem Jan Z

Willem Jan Z

24/12/2005 20:00:00
Quote Anchor link
Kuch
 
Alfred -

Alfred -

24/12/2005 20:05:00
Quote Anchor link
Arjan:
Een expiriment...

Je kan volgens mij _niet_ een cookie zetten, en hem gelijk gebruiken/issetten.

Pas na een f5 van de pagina is die cookie beschikbaar.

Dus als jij een cookie set, en daarna op f5 drukt zal hij er zijn.


True. Ik heb eens ergens gelezen dat je een cookie niet kan uitlezen, op de pagina waar het geset werd...
 
Willem Jan Z

Willem Jan Z

24/12/2005 20:08:00
Quote Anchor link
Zo gaat het ook niet, ik heb in de setcookie.php pagina een meta refresh naar de referer, als ik hem direct aanroep, gaat hij dus terug naar zichzelf, en ik zie de cookie meteen staan.

Als ik via die show.php kijk is de cookie ook gewoon geset... Maar op mijn index niet...
Terwijl hij volgens FF en show.php nog steeds geset is :S
 
Jan Koehoorn

Jan Koehoorn

24/12/2005 20:26:00
Quote Anchor link
Rafael:
True. Ik heb eens ergens gelezen dat je een cookie niet kan uitlezen, op de pagina waar het geset werd...


Dat heb ik even uitgetest met de volgende code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
setcookie ('test', 'Jan Koehoorn', time () + 3600, '', '.jankoehoorn.nl');
echo $_COOKIE['test'];
?>


En na een ram op F5 doet die het gewoon.
 
Alfred -

Alfred -

24/12/2005 20:29:00
Quote Anchor link
Quote:
En na een ram op F5 doet die het gewoon.


Na op F5 te drukken wel ja, maar ik bedoel:
- Bovenaan op de pagina een cookie setten
- Onderaan op dezelfde pagina de cookie willen uitlezen

Dat lukt normaal niet...

Maar blijkbaar werkt hij al met verschillende pagina's, dus zal dit het probleem niet zijn veronderstel ik.
 
Jan Koehoorn

Jan Koehoorn

24/12/2005 20:35:00
Quote Anchor link
Rafael:
Na op F5 te drukken wel ja, maar ik bedoel:
- Bovenaan op de pagina een cookie setten
- Onderaan op dezelfde pagina de cookie willen uitlezen

Dat lukt normaal niet...


Klopt, in dit topic gaat het niet zo. Toch heb ik nog even een andere test gedaan, en die gaat ook goed:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
setcookie ('test', 'cookie-test 2', time () + 3600, '', '.jankoehoorn.nl');
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Cookie Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<h1>Cookie Test</h1>
<p>Blablablablablablablablablablablablablablabla</p>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo $_COOKIE['test'];
?>

</body>
</html>

edit 1: zonder refresh kun je een cookie uiteraard _nooit_ uitlezen.
edit 2: nog een test gedaan met print_r op een andere pagina en die gaat hier ook goed.
Gewijzigd op 24/12/2005 20:45:00 door Jan Koehoorn
 
Willem Jan Z

Willem Jan Z

24/12/2005 23:51:00
Quote Anchor link
Zou het kunnen dat het ligt aan het feit dat ik de cookie in een lager liggende map set...
En dat ik gewoon het path verkeerd heb ofzo...
 
Jan Koehoorn

Jan Koehoorn

25/12/2005 07:34:00
Quote Anchor link
Browsers don't include the cookie in requests for resources that aren't in the specified path. This is useful if only part of a web site requires that a cookie be sent. For example, if the path is set to /admin, requests for resources in that path, such as http://localhost/admin/home.php include the cookie, while requests for resources in other paths, such as http://localhost/winestore/home.php, do not.

Bron: ONLamp.com
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.