Используйте куки, чтобы пропустить целевую страницу - PullRequest
1 голос
/ 03 декабря 2011

У меня есть целевая страница, которую я хотел бы, чтобы зрители увидели при первом посещении //domain.com.Затем, если они были на сайте до того, как браузер автоматически пропустит целевую страницу и перенаправит их прямо на //domain.com/main.html

Каков наилучший подход для этого?

Ответы [ 2 ]

2 голосов
/ 03 декабря 2011

На вашем месте я бы на самом деле перенаправил, если бы они не не увидели страницу в первый раз. Это создает более интуитивно понятный URL.

В любом случае, строго говоря, вы хотите использовать setcookie при первом посещении сайта пользователем, а затем проверить, существует ли значение в $_COOKIE по возвращении. Реально, вы, вероятно, хотите:

  1. Перенаправление, если cookie отсутствует
  2. Ссылка на целевой странице перенаправляет их на страницу, которая устанавливает cookie.
  3. Страница, которая устанавливает cookie, перенаправляет их на фактическую главную страницу.

Почему вы хотите установить значение после того, как пользователь нажимает на ссылку? Ну, таким образом, вы можете заставить их реально посмотреть на страницу, прежде чем продолжить, и я думаю, что это больше, чем вы хотите.

Ваш редирект может выглядеть следующим образом:

if( !isset( $_COOKIE[ 'seen_landing_page' ] ) )
{
    header( 'Location: <other page>' );
    die();
}
// do whatever else here.

После этого вы можете создать простую транзитную страницу:

setcookie('seen_landing_page',TRUE);
header( 'Location: <your main page>' );
2 голосов
/ 03 декабря 2011

Как то так?

// index.php
if ( !isset($_COOKIE["been_here"]))
      setcookie("been_here",true);
else
      header("Location: main.html");
...