Solved

cookie question

Posted on 2002-05-05
9
173 Views
Last Modified: 2008-03-06
why wont the following expire after 5 seconds ... or do I misunderstand 'expire'. (I thought it should delete its self)


setcookie('bob','hello',time()+5);

0
Comment
Question by:stevencopley
  • 4
  • 2
  • 2
  • +1
9 Comments
 
LVL 2

Expert Comment

by:jpoesen
ID: 6990941
-> the "time" parameter is an *absolute* value, and starts counting from the moment you set the cookie.

As a result, if you use time()+5 you get the amount of seconds since 1970 (about 1 billion seconds) + 5 sec, so you set your cookie to expire in rougly 32 years.

php manual :

time()
- Return current UNIX timestamp
- usage:int time (void)

Returns the current time measured in the number of seconds since the Unix Epoch (January 1 1970 00:00:00 GMT).

In short, use
setcookie('bob','hello',5);

Good luck
jpoesnen
0
 
LVL 2

Expert Comment

by:jpoesen
ID: 6990943
I can't even write my own name :(

jpoesen
0
 

Expert Comment

by:VBTom
ID: 6991027
???

Are you going to award points?
0
 
LVL 2

Expert Comment

by:jpoesen
ID: 6993282
sure hope so :)
0
Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

 
LVL 40

Expert Comment

by:RQuadling
ID: 6993961
jpoesen, I don't think you are correct.

From the PHP manual ...

Some examples follow how to send cookies: Example 1. setcookie() send examples

setcookie ("TestCookie", $value);
setcookie ("TestCookie", $value,time()+3600);  /* expire in 1 hour */
setcookie ("TestCookie", $value,time()+3600, "/~rasmus/", ".utoronto.ca", 1);
 
 
The setcookie parameters are ...

setcookie ( string name [, string value [, int expire [, string path [, string domain [, int secure]]]]])

The expire parameter requires a proper time (i.e. time()).

So, there is no reason that

setcookie('bob','hello',time()+5);

will not create a cookie that will expire in 5 seconds.


Steven,

Once you've set the cookie with an automatic timeout, what are you doing to determine that the cookie has NOT expired as expected?

Richard.
0
 
LVL 2

Expert Comment

by:jpoesen
ID: 6994026
Quite right. I used on old version of my message board to check. It was a version where I already started using session vars instead.

My mistake.

setcookie('bob','hello',time()+5);

makes a cookie that expires. But I don't think that "expires" means that the cookie is deleted, just that it is no longer valid.

Thanks for noticing, RQuadling.

jpoesen.
0
 
LVL 40

Accepted Solution

by:
RQuadling earned 100 total points
ID: 6994043
Unfortunately, a cookie being deleted from the client's harddrive is not the same as expiring.

All PHP can do is say that it is no longer required.

Ho hum!

Richard.
0
 

Author Comment

by:stevencopley
ID: 6997598
I thought that if I tried to reference

I tried what jpoesen said but 'bob' , once it had timed out I'd get '' instead of 'hello'.

I tried what jpoesen said but its still there.

what I did was saved time() to bob and then when I checked it, I compared bob to time() to see how long since it had been accessed, since it doesn't seem to disappear.

Thanks everyone for your help.

0
 

Author Comment

by:stevencopley
ID: 6997607
I meant.

I tried what jpoesen said but 'bob' , once it had timed out I thought I'd get '' instead of 'hello'.
0

Featured Post

Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

Join & Write a Comment

Author Note: Since this E-E article was originally written, years ago, formal testing has come into common use in the world of PHP.  PHPUnit (http://en.wikipedia.org/wiki/PHPUnit) and similar technologies have enjoyed wide adoption, making it possib…
This article discusses how to create an extensible mechanism for linked drop downs.
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…

707 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now