Как реализовать такой скрипт (редирект)
добрый день,нужна помощь.
Есть 4 страницы html 1.html 2.html 3.html 4.html пользователь идет сначала на 1.html и так до 4, задача: допустим он дошел до 3.html и хочет перейти назад, необходимо его туда не возвращать, и вобще через куки оставить его на той странице на которой он сейчас, т.е. 3, как то отключить возврат назад через куки... если бы он был на 4 стр. и нажал назад , то оставить его на 4.. и тд. проблема: не подходит решение на js, т.к. все можно подсмотреть, обфускация кода также не подходит как реализовать что то подобное ? может кто подскажет |
razik, это нужно делать на уровне сервера. Хранить step на сессию пользователя, генерировать нужную страницу в зависимости от текущего step.
Бэк на каком языке? |
Цитата:
|
Цитата:
То есть, на сервере либо все запросы клиента должны перенаправляться на индексный файл, в котором выполняется сценарий вышеописанный, который проверяет, запоминаем, перенаправляет на ... или подключает нужный файл, либо в каждом из ваших файлов должен быть php-код выполняющий эти операции. Для того, чтобы РНР код выполнялся в файлах с расширением .html, это расширение нужно добавить как исполняемое на сервере. В общем нужно сперва определится со структурой файлов на сервере и прочие условия если таковые есть. |
Цитата:
1.php 2.php 3.php 4.php будут в корневом каталоге сайт.ру/ а всю логику хотелось бы вывести в файл если такое возможно? к примеру config.php а далее получается его можно уже подключить к страничкам .php <?php include 'config.php';?> но вот по поводу логики не хватает знаний( поэтому обратился за помощью |
Ну а какая тут может быть логика, обычная проверка и выполнение ее результата. Но ведь сайт же не эти 4 страницы, наверное же есть и другие, по крайней мере индексный файл уж точно должен быть. Каково должно быть действие если клиент к примеру после второй страницы запросит иную, которой нет среди указанных?
То чего вы хотите, это некий частный случай, а сценарий должен проверять и выполнять все условия в пределах всей файловой структуры сайта. Если сценарий описать как частный случай без учета этого, то он у вас сразу же развалится как только произойдет запрос не описанный условиями в сценарии. Это понятно? |
Цитата:
но просто зайдя на сайт и заведомо вбить адрес из "цепочки" страниц также не должно давать никакого результата, как то так, не знаю поняли ли вы меня |
Сценарий разрабатывается под определенные цели, если ее нет, то и написать код невозможно. Пользователь попавший впервые на ваш сайт, что попадает сразу на страницу 1.html после чего обязан дойти хоть умри до 4.html? А что дальше?
Без понятия целей этой частной задачи она представляется как прихоть, а не задача. Можно "удержать" так как описано ранее и хватит двух базовых функций для этого. А можно и по иному поступить, например иметь массив с ключами от 1 по N, который описывает файлы, по которым нужно пройти, а сессия хранит счетчик шагов, по которому как по ключу в массиве можно определять и следующий файл, и запрещать переход, и прочее. Но время жизни сессии по умолчанию равно 24 минутам, что должен делать сценарий если находясь на одной из страниц будет запрос клиента тогда, когда сессия умерла? И почему запрещать шаг назад? Например, если речь идет о пошаговом заполнении формы, то запрещать возвраты это большая глупость ибо пользователь может допустить и ошибку в предыдущем шаге, исправить которую он уже не сможет. Решений может быть как 1000 и одна ночь, какое из них выбрать будет зависеть от цели "удержания", если только это действительно так. |
Цитата:
|
Цитата:
У вас всего четыре товара и не магазин, а базар на доверии? Вы в реальном магазине делали же покупки, вам в нем разве запрещали посещать любой его раздел без покупки в них товаров? Конечно же нет, вы можете бродить по магазину вообще не совершив покупки в итоге, выбирать любые товары в любом разделе, а расплачиваться за все на выходе на единой кассе. Все ваши шаги в контексте магазина это просто глупость. В виртуальном магазине так же как и в реальном ведется учет товаров, которые описываются в базе данных, и которые покупатель помещает в корзину. Вот тут уж проверяйте чего там нельзя больше чего-то покупать, то есть положить в корзину. А покупка в виртуальном магазине, это этап оформления заказа. Не трогайте пока вообще никакого языка программирования, ни серверного, ни клиентского, подумайте над концепцией своего магазина, политикой торговли, и только потом эту концепцию перекладывать в программный код. А все что выше вы тут пишите никуда не годится. Вряд ли вы без знания языка серверного сможете написать магазин, поэтому берите либо готовый движок и стройте на нем свой магазин, либо если он имеет какую-то специфику, которую нельзя реализовать движком готовым, то заказывайте оплачиваемую работу, пишите техническое задание на свой магазин, будет вам рабочий код рабочего магазина. |
Часовой пояс GMT +3, время: 16:02. |