shylov
@shylov
Начинающий

Как скрыть определенную форму после клика определенного пользователя?

Есть товары у товаров есть рейтинг . Пользователя может проголосовать но рейтинг остается видимым . После голосования рейтинг должен заблокироваться что бы пользователь (cookie) больше не голосовал . За ранее благодарю за внимание !
$ra1 = $row['rating']; 
    $checked = intval($ra1); 
    $count = 5; 
    $inputs = '';
    for($i = 1; $i <= $count; $i++) { 
    $checked_attr = $i == $checked ? ' checked' : '';
    $inputs .= '<input  class="rating-input" id="mod' . $i . '' . $row["products_id"] . '" star-attr="' . $row["products_id"] . '" name="radio-rating" type="radio" value="' . $i . '"' . $checked_attr . '>';
    $inputs .= '<label class="rating-star" for="mod' . $i . '' . $row["products_id"] . '" ></label>';
    };

    // вывод
    echo '
    <div  class="order_right">  
     <div  class="wrap_stars">
      <form class="form-rating" method="POST">
      <fieldset class="fieldset">
      <legend></legend>
      <div class="rating-group">

       ' .$inputs . '
      
       </div>
      </fieldset>
        <div class="count_block">
        <!-- Статистика -->
        <ul class="count" >' . $row["rating"] . '</ul>
        </div>
       </form>
      </div>
    </div>
  • Вопрос задан
  • 35 просмотров
Решения вопроса 1
@NKwork
(Если я правильно понял вопрос, маловато дополнительной информации.)
Попытаюсь ответить развёрнуто.
1. Использование куки для данной цели не совсем надёжно(пользователь может просто очистить куки, зайти с инкогнито и т.д) И проголосовать таким образом ещё раз.По этому хранить информацию о конкретном голосе лучше бы также и в базе. Куки для данной цели не подходят(в данной задаче они вам понадобятся для идентификации пользователя в системе).
2. Скрыть форму вы можете например при помощи JS. (Например)В момент передачи параметров на страницу(на бэкэнде), проверяете голосовал ли конкретный пользователь за данный конкретный товар, передаёте соответствующий параметр. В зависимости от значения этого параметра делаете на фронте проверки и выводите то что нужно(скрываете то что нужно). (Можно и при помощи PHP это сделать)
3. Также крайне желательно сделать соответствующие проверки и в методе отвечающем за приём формы, поскольку так то пользователь, несмотря на то, что формы голосования не видно, всё же может отправить запрос с соответствующими данными для записи, и если у вас проверки не будет, то информация о голосе снова запишется. (одним визуальным скрытием или "не отрисовыванием" формы дело не обойтись не может)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы