If I were you, I would actually re-direct if they haven't seen the page the first time. It creates a more intuitive URL.
Either way, strictly speaking, you want to use setcookie
the first time that the person visits the site, and then test to see if the value exists in $_COOKIE
upon return. Realistically, you probably want:
- Redirect if cookie not present
- Link on landing page re-directs them to a page which sets the cookie.
- Page which sets the cookie re-directs them to the actual main page.
Why do you want to set the value after the use clicks a link? Well, that way you can force them to actually look at the page before continuing, and I think that is more what you want.
Your redirect might look like:
if( !isset( $_COOKIE[ 'seen_landing_page' ] ) )
{
header( 'Location: <other page>' );
die();
}
// do whatever else here.
You can then have a simple pass-through page:
setcookie('seen_landing_page',TRUE);
header( 'Location: <your main page>' );