У меня есть домашняя страница index.php .. И страница регистрации с именем registration.php.
У index.php есть некоторая логика, которая должна быть выполнена для правильной работы сайта.
Так что скажем, что URL-адрес: http://www.testwebsite.com
и регистрационный URL-адрес: Так что скажем, что URL-адрес: http://www.testwebsite.com/registration.php
Когда пользователь сразу же переходит к так. Так скажем, что URL-адрес: http://www.testwebsite.com/registration.php, логика в index.php обойдена и не выполняется и вызывает проблемы.
Так что вопрос сейчас ..
Есть ли способ перенаправить их на страницу index.php, если они когда-нибудь перейдут на ссылку registration.php напрямую? Таким образом, код должен проверять и видеть, была ли поражена веб-страница index.php, если она не была удалена, тогда она должна перенаправить на index.php. Но если сайт index.php уже попал, он должен просто продолжить, а не перенаправлять обратно на index.php.
Когда выполняется «index.php», вы можете создать переменную сеанса, например:
<?php session_start(); $_SESSION[ "index" ] = TRUE; // CREATE SESSION VARIABLE. ?>
Теперь в «registration.php» вы проверяете переменную сеанса:
<?php session_start(); if ( ! isSet( $_SESSION[ "index" ] ) ) // IF SESSION VARIABLE DOES NOT EXIST. header( "Location: index.php" ); // JUMP TO INDEX. ?>
Оба этих кода должны быть в верхней части соответствующих страниц.
Вы можете использовать что-то вроде:
<?php if (condition when you wanna go to index) header("Location: ./index.php"); ?>
Вы установили файл cookie
Я вижу, что вы используете PHP, что означало бы установку переменной сеанса, указывающей на то, что был поражен index.php. Затем это можно проверить на registration.php, выполнив перенаправление, если он не установлен.
Взгляните на документы здесь , но это, по сути, случай
!isset($_SESSION['was_index_hit'])
$_SERVER['HTTP_REFERER']
можно указать для определения того, что было на предыдущей странице. Пример:
if( isset( $_SERVER['HTTP_REFERER'] ) ){ if( ! strpos( $_SERVER['HTTP_REFERER'], 'testwebsite.com' ) ){ header( 'Location: http://www.testwebsite.com' ); exit(); } }
Обратите внимание: вы не всегда можете доверять этой переменной:
Адрес страницы (если есть), которая ссылалась на пользовательский агент на текущую страницу. Это устанавливается пользовательским агентом. Не все пользовательские агенты установят это, а некоторые предоставляют возможность изменять HTTP_REFERER как функцию. Короче говоря, на это нельзя доверять.
Из источника: http://php.net/manual/en/reserved.variables.server.php