eprivalov
@eprivalov
Учусь

Как скрыть часть данных на сайте?

Всем привет! Нужно реализовать две похожие задачи - Как скрыть часть данных на сайте от посетителя:

а) до регистрации

б) до оплаты доступа к этим данным

Как лучше реализовать такую логику? И какими средствами? Как это сделать технически?
  • Вопрос задан
  • 3106 просмотров
Пригласить эксперта
Ответы на вопрос 5
@galiulin_r
Эти данные будут в каком виде?
Ответ написан
MindMinimal
@MindMinimal
Front-end Developer, веб-разработчик
a). Проверять залогинен ли пользователь или нет. Т.е. изначально скрыто все, если пользователь авторизирован - показать контент. (Т.е. на основе сессий сделать)

б). До оплаты не показывать ничего. После оплаты (наверное получите токен какой-то), если токен получен - показать контент. (Скорее всего будет реализовано через API шлюза оплаты)
Ответ написан
@CloudMonster
If (isset($_SESSION['log_in'])) {
  echo "Показываем, то что должен видеть простой юзер";
  $result = mysql_query("SELECT pay FROM payment WHERE email = '$_SESSION["email"]'");
  $row = mysql_fetch_array($result);
  if($row['pay'] == "ok") {
    echo "Показывай то что могут видеть оплатившие юзеры";
  }else {
    echo "Показывай то что могут видеть простые юзеры";
  }
} else {
  echo "Не авторизован";
}
Ответ написан
Комментировать
q1t
@q1t
можно реализовать роли юзера - / незарегистрированный / зарегистрированный / оплативший / и пр.
и уже на сервере рендерить шаблоны для каждого. (ну или на клиенте, неважно, главное что бы нужные данные шли определенной роли)
Ответ написан
Комментировать
Если шаблон допускает использование кода PHP то как описано выше. Если нет то генерировать блок в контролере (участке кода который оперирует посредственно с данными).

Главное иметь переменную в которой содержится значение зарегистрирован пользователь или нет.

Самый топорный способ это сделать глобальную переменную текущего пользователя в которая будет false если пользователь не зарегистрирован
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы