опрос с одноразовым кодом

Muhrab

Новичок
опрос с одноразовым кодом

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

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

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

PHP:
<?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); 
  }
 ?>
 

prolis

Новичок
Хорошо, начнем.
1. " Ключ сравнивается с бд на наличие такого вней и на правильность." - это ты реализовал (mysql_num_rows($sql) == 1)
2."Если такой ключ есть в базе данных, то тогда посетитель входит на страницу опроса..." - if (mysql_num_rows($sql) == 1)
http://ru2.php.net/manual/ru/function.header.php - отправили юзера куда надо.
3. "...если нет, то появляется какая нибуть надпись" -
else echo "какая нибуть надпись";
4. "при этом в базе данных ставится метка в графе "used"" - причём при этом?
 

Muhrab

Новичок
Автор оригинала: prolis
Хорошо, начнем.
1. " Ключ сравнивается с бд на наличие такого вней и на правильность." - это ты реализовал (mysql_num_rows($sql) == 1)
2."Если такой ключ есть в базе данных, то тогда посетитель входит на страницу опроса..." - if (mysql_num_rows($sql) == 1)
http://ru2.php.net/manual/ru/function.header.php - отправили юзера куда надо.
3. "...если нет, то появляется какая нибуть надпись" -
else echo "какая нибуть надпись";
4. "при этом в базе данных ставится метка в графе "used"" - причём при этом?
параллельно :) чтобы при следующей авторизации с этим кодом, посетитель не заходил в опрос а сразу отпровлялся в форум...
 

Фанат

oncle terrible
Команда форума
а в чем вопрос-то?

-~{}~ 25.06.09 14:05:

что лежит в переменной $fields->id?
 

Muhrab

Новичок
в бд уже сохранены коды в поле code. в поле used сохраняется был ли использован паоль или нет. в форме посетитель вводит код только для проверки, после которой он либо заходит на опрос либо если он уже отвечал перенаправляется в форум. код состоит из латинских заглавных и прописных букв и цифр
 

Фанат

oncle terrible
Команда форума
интересно, что в вышележащем предложении опять ни одного вопросительного знака
 

Muhrab

Новичок
Автор оригинала: *****
интересно, что в вышележащем предложении опять ни одного вопросительного знака
как сделать что бы: в бд уже сохранены коды в поле code. в поле used сохраняется был ли использован паоль или нет. в форме посетитель вводит код только для проверки, после которой он либо заходит на опрос либо если он уже отвечал перенаправляется в форум. код состоит из латинских заглавных и прописных букв и цифр?
в php я новичок..... поэтому такие вот сложности....
 

Фанат

oncle terrible
Команда форума
новичок

-~{}~ 25.06.09 14:21:

ну возьми, да подставь введенный код во where

-~{}~ 25.06.09 14:21:

например
 

Фанат

oncle terrible
Команда форума
у тебя юзер вводит в форму 6000 кодов?

-~{}~ 25.06.09 14:32:

не слишком много для одного опроса?
 

Фанат

oncle terrible
Команда форума
и они все в одну форму по очереди вводят свои коды?
 

Фанат

oncle terrible
Команда форума
я из него делаю вывод, что один пользователь в одну форму вводит ОДИН код. а ты пишешь, что 6000.

-~{}~ 25.06.09 15:03:

вообще, складывается впечатление, что писать этот опрос тебе ну ооочень не хочется. на любые попытки помочь ты придумываешь отмазки, чтобы не делать %)
 

Muhrab

Новичок
бд уже сохранены коды в поле code. в поле used сохраняется был ли использован паоль или нет. в форме посетитель вводит код только для проверки, после которой он либо заходит на опрос либо если он уже отвечал перенаправляется в форум. код состоит из 7ми латинских заглавных и прописных букв и цифр (JJj66Jd)

опрос для 600 пользователей.
 

Muhrab

Новичок
*****
спасибо за помощь........ за это вас не любят...фанатов...
 
Сверху