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>
  • Вопрос задан
  • 38 просмотров
Решения вопроса 1
@NKwork
(Если я правильно понял вопрос, маловато дополнительной информации.)
Попытаюсь ответить развёрнуто.
1. Использование куки для данной цели не совсем надёжно(пользователь может просто очистить куки, зайти с инкогнито и т.д) И проголосовать таким образом ещё раз.По этому хранить информацию о конкретном голосе лучше бы также и в базе. Куки для данной цели не подходят(в данной задаче они вам понадобятся для идентификации пользователя в системе).
2. Скрыть форму вы можете например при помощи JS. (Например)В момент передачи параметров на страницу(на бэкэнде), проверяете голосовал ли конкретный пользователь за данный конкретный товар, передаёте соответствующий параметр. В зависимости от значения этого параметра делаете на фронте проверки и выводите то что нужно(скрываете то что нужно). (Можно и при помощи PHP это сделать)
3. Также крайне желательно сделать соответствующие проверки и в методе отвечающем за приём формы, поскольку так то пользователь, несмотря на то, что формы голосования не видно, всё же может отправить запрос с соответствующими данными для записи, и если у вас проверки не будет, то информация о голосе снова запишется. (одним визуальным скрытием или "не отрисовыванием" формы дело не обойтись не может)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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