Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > опрос с одноразовым кодом


Автор: prokurist 25.6.2009, 11:02
добрый день. Яхочу сделать опрос на сайте с одноразовым кодом. я новичек в php и mysql начал писать код но застопорился....

Посетитель сайта получает ключ (пароль), при помощи которого он заходит на страницу опроса. Ключ сравнивается с бд на наличие такого вней и на правильность. Если такой ключ есть в базе данных, то тогда посетитель входит на страницу опроса если нет, то появляется какая нибуть надпись. при этом в базе данных ставится метка в графе "used".

Код

<?php $query = "SELECT `id` FROM `codes` WHERE `code` = '${code}' AND `used` = 0";
  $result = mysql_query($query);
  $fields = mysql_fetch_object($result);
  
  if (mysql_num_rows($sql) == 1) {
     // Значит найдено и такой код один
      // Не знаю как написать
  
      mysql_query("UPDATE `codes` SET `used` = 1 WHERE `id` = ".$fields->id);
  } ?>



идея

Ну так мы проверяем, если mysql_num_rows($sql) == 1, значит код правильный.
А вообще, мне щас по времени накладно пример писать, я логику опишу:

Делаем выборку по полю кода из БД, пр этом захватывая поле used.
Если код найден, мы продолжаем выполнение:
Приверяем, равен ли used = true, если да - код был использован и пишем, что голосовать можно только единожды.
Если used = false, то разрешаем голосовать, при этом в форму обязательно генерируем выбранный код в качестве скрытого поля (никаких сессий!).
После, как он голосует, мы устанавливаем значение used равным true и сообщаем, что голос принят. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)