A couple of basic questions:
When you click a link in your email, does it open the link in the same browser in which you were previously signed-in? I ask, because I know I read my email in one browser, and develop in another.
Does the script that you're taken to from the email have session_start(); declared before any output or checking for the existence of a session?
Are you setting an expiry date/time for the cookies?
Beyond that, you're going to have to post some code.
blocblue
Practically a Posting Shark
837 posts since Jan 2008
Reputation Points: 272
Solved Threads: 161
Skill Endorsements: 12
I cannot see anything immediately wrong with your code. And no, you shouldn't have to set a cookie again until it expires - unless the data changes of course.
I'd suggest adding debugging output throughout the code to find where it's losing the data.
echo '<pre>'; var_dump($_SESSION, $_COOKIE); echo '</pre>'; die;
blocblue
Practically a Posting Shark
837 posts since Jan 2008
Reputation Points: 272
Solved Threads: 161
Skill Endorsements: 12