Я фильтрую страницу с $_SERVER['HTTP_REFERER']
.
Включите фильтр "pageb.php", если пользователь пришел из "pagea.php" (хотя он не является надежным) на $_SERVER['HTTP_REFERER']
.
Он хорошо работает, пока «pagea.php» не имеет строку запроса, например «pagea.php? Q = 10». Затем, если пользователь переходит из «? Pagea.php д = 10» до «pageb.php» не обнаружено «pageb.php»:
if($_SERVER['HTTP_REFERER']='http://pagea.php'){
echo 'This user has come from page a';
}else{
echo 'This user has come from another page';
}
Как я могу определить, пользователь пришел из «страницаА. php "даже с предыдущим запросом string q=10
?
Если оба файла находятся на вашем сервере, почему бы вам не сохранить переменную '$ _SESSION' с« последней посещенной страницей »? – h2ooooooo
Вот обсуждение по этому вопросу. tl; dr: вы не можете полагаться на HTTP_REFERER: http://stackoverflow.com/questions/5934747/is-serverhttp-referer-safe - вы хотите проверить, откуда ваши пользователи поступают из вашего собственного домена или из других доменов? если строго первый, вы могли бы использовать сеансы для отслеживания страниц, например. –
В вашем псевдо-URL-коде что-то вроде 'if (strpos ($ _ SERVER ['HTTP_REFERER'], 'http: //pagea.php') === 0)' возможно? –