В PHP, как я могу проверить, посетил ли пользователь только домашнюю страницу / главную страницу сайта? - PullRequest
0 голосов
/ 13 февраля 2012

Я не говорю о том, посетил ли пользователь веб-сайт раньше, но в целом, когда пользователь (независимо от того, посещал ли он веб-сайт ранее), который не вошел в систему, только что посетил домашнюю страницу вашего веб-сайта? Я думаю, что это как-то связано с сессиями, но я еще не совсем понял.

Ответы [ 4 ]

2 голосов
/ 13 февраля 2012

Вы можете сделать это с помощью $_SERVER['HTTP_REFERER'], который вернет адрес последней посещенной страницы. Вы не можете полагаться на это для важных вещей, потому что эта переменная может быть изменена и не может быть установлена ​​агентом пользователя.

Из документации PHP:

Адрес страницы (если есть), на которую пользовательский агент направил текущая страница. Это устанавливается пользовательским агентом. Не все пользовательские агенты будут установите это, а некоторые предоставляют возможность изменять HTTP_REFERER как особенность. Короче говоря, этому нельзя доверять.

Вы также можете использовать cookie или переменную сеанса и установить посещаемую страницу следующим образом:

// by file
setcookie('last_page', $_SERVER['PHP_SELF']);
// by uri
setcookie('last_page', $_SERVER['REQUEST_URI']);

и проверьте с помощью:

// homepage
$home = 'home'; 
// check
if ($_COOKIE['last_page'] == $home) {}

Ссылки

1 голос
/ 13 февраля 2012

Если вы хотите безошибочно (при условии, что у пользователя включены файлы cookie), запустите сеанс и назначьте переменную, например $_SESSION['ref'] = $_SERVER['PHP_SELF'], и проверьте URL своей домашней страницы на последующих страницах, которые посещает пользователь.

1 голос
/ 13 февраля 2012

Вы можете установить cookie с отметкой времени при входе на страницу индекса.

1 голос
/ 13 февраля 2012

Вы должны быть в состоянии использовать PHP Переменная сервера .

$refer = $_SERVER['HTTP_REFERER'];

Это может быть легко подделано любым пользователем, но это простой способ сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...