比如我写一个asp的投票程序,数据库是mssql的。下面有两种思路。
1、我现在要用户选择所要投票的企业,输入邮箱地址,然后在投票用户的邮箱地址里面会得到一个一次性地址。
通过这个地址来点击确认,然后才能投票成功。这个地址投票成功后即失效。?
2、或者用户输入邮箱地址,获取投票链接地址,选择投票企业,点击提交,投票成功,随即该投票地址失效?
各位给点思路?
------解决方案--------------------
这个简单吧。
假如数据库有字段 VOTEID(随机数生成) EMAIL(邮箱地址) VOTELOOK(真/假)
用户输入邮箱地址后,程序把邮箱地址和生成的随机数写入数据库,并发送验证地址到邮箱。
例如 http://www.域名.com/mailvote.asp?voteid=c98f3c081ce837a0252d14d7d7e68d7f
mailvote.asp 获得点击过来的 voteid 数据,通过查询数据库
IF VOTELOOK=TRUE
提示已经投过票
ELSE
进入投票程序
END IF
------解决方案--------------------
新建表:验证码(当前时间+随机数,再做md5),邮箱地址,投票对象,投票状态
记录数即为投票总数
邮箱地址做字符小写处理后,进行正则判断和数据库唯一性判断
第一步,写入记录
第二步,发邮件
第三步,验证,二次写入