Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Show different page if first time visit

Tags:

php

cookies

I found a snippet of code that redirects if it's the first visit, but when I tried to use it, it just stayed at that code. I don't really understand too much about the cookies and how it works, so maybe you can help! Here's the PHP code:

    <?php

    session_start();

    if (isset($_SESSION['FirstVisit'])) {

    $_SESSION['FirstVisit'] = 1;

    header("Location: http://example.com/index.php");

    // Don't forget to add http colon slash slash www dot before!

    }

?>

So how could I fix it so if it's your first visit to the site it brings you to a certain page, and if not, the default?

like image 674
Ben Thomson Avatar asked Jan 06 '12 01:01

Ben Thomson


2 Answers

You can use this code:

<?php
if (!isset($_COOKIE['firsttime']))
{
    setcookie("firsttime", "no", /* EXPIRE */);
    header('Location: first-time.php');
    exit();
}
else
{
    header('Location: site.php');
    exit();
}
?>

It will check if you have a cookie named "firsttime" and if not, it will create it and redirect to your FIRSTTIME page... If yes, it will just redirect you to the website...

EDIT 2021 Please don't use this old method and either use a framework or better code. This is 10 years old now.

like image 174
Frederick Marcoux Avatar answered Sep 20 '22 07:09

Frederick Marcoux


<?php

    session_start();

    if (!isset($_SESSION['FirstVisit'])) {

    //show site for the first time part
    $_SESSION['FirstVisit'] = 1;
    header("Location: http://example.com/index.php");

    // Don't forget to add http colon slash slash www dot before!

    } else { Show normal site }

?>

You just make an if statement to check whether there is a session set, if not, you know its there first time. Though, since it is not a cookie, anytime you quit the browser, it will assume it is the first time, even if it is never the first time.

like image 35
Andy Avatar answered Sep 22 '22 07:09

Andy