Задать вопрос
@rinaz22

Как сделать ограничение на 1 открытие страницы?

Всем привет! Пользователю с БД выводиться 5 ссылок. Он по очередности должен посмотреть каждую ссылку. Все ссылки грузятся через фрейм, т.е. пользователь не покидает мой сайт.
Как сделать так, чтобы пользователь смог посмотреть только 1 ссылку, а если он откроет сразу несколько, то вывести ошибку на всех остальных.
  • Вопрос задан
  • 92 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
xEpozZ
@xEpozZ
Веб-разработчик
ставь флаг в $_SESSION/Cookie/БД/файлы

Описание рабочего процесса:
1. Пользователь заходит на ваш сайт (site.ru)
2. Вы ему отдаете 5 ссылок, в которые сначала ведут на ваш сайт (site.ru/url?hash=dm24kv7), а потом на конечный урл (yandex.ru)
3. Человек нажимает кнопку и ему показывается (или открывается в новом окне, не столь важно).
3.1. Записываем в БД, что %user% "смотрит"
(insert into user_session (user_id, is_watching) VALUE($userId, 1))

4. Потом он нажимает на вторую ссылку. Вы принимаете его запрос по адресу site.ru/url?hash=dm24kv7 и проверяете: нажал ли он "досмотреть" по первой ссылке. Нет - выводим ошибку, да - пропускаем дальше.
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Все ссылки грузятся через фрейм, т.е. пользователь не покидает мой сайт.
Это не означает, что он находится на Вашем сайте. Если используется фрейм с другого домена, то он уже на другом домене. Если ссылки ведут не на Ваш сайт (домен), то в этом случае - никак не запретить.
Если домен - Ваш, используйте 302-й редирект с контролем на стороне сервера.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽