Cytat(patol @ 2.11.2010, 10:35:07 )

Witam,
Chciałbym stworzyć ankietę, którą można wypełnić jedynie po wpisaniu wcześniej wygenerowanego i przesłanego drogą "analogową" jednorazowego kodu.
Inaczej mówiąc. Klient dostaje jednorazowy kod uprawniający do wypełnienia ankiety, przy wypełnianiu ankiety musi wpisać kod, ale kod może być wykorzystany tylko raz!
Wszystko chcę zrobić w PHP i MySQL.
Pozdrawiam
Pawel
Nie opiszę dokładnych rozwiązań i gotowego skryptu(google pomoże

) ale myślę że te kilka rad swoje zrobi.
Jeżeli chcesz zrobić wysyłanie np. przez smsy, to musisz się zapoznać z paypal, dotpay albo czymś podobnym(sprawa problematyczna i niestety są koszta obsługi tego).
Jeśli chcesz zrobić wysyłanie na email, to sprawa banalna. Przy generowaniu kodu(wysyłaniu go na emaila) dodajesz do bazy wpis z adresem email oraz id, id hashujesz jakąś prostą funkcją i wysyłasz ten hash na emaila. Bądź jeszcze dodajesz time() do tego i wtedy hashujesz(dłuższe, ale użytkownik ma opcję kopiuj)
najprostszy sposób żeby zahashować $dane = strtr($dane,'qwertyuiop1234567890','1234567890qwertyuiop');
ew. możesz użyć jakieś phpowe md5 sh1 itp.
a potem użytkownik podaje email i kod i gotowe

Pozdrawiam
Zdunek