日期:2014-05-17  浏览次数:20896 次

asp写的投票程序如何用邮箱的方式获取一次性地址,投票完成投票地址即刻失效。。
比如我写一个asp的投票程序,数据库是mssql的。下面有两种思路。

1、我现在要用户选择所要投票的企业,输入邮箱地址,然后在投票用户的邮箱地址里面会得到一个一次性地址。
通过这个地址来点击确认,然后才能投票成功。这个地址投票成功后即失效。?


2、或者用户输入邮箱地址,获取投票链接地址,选择投票企业,点击提交,投票成功,随即该投票地址失效?

各位给点思路?

------解决方案--------------------
这个简单吧。 

假如数据库有字段 VOTEID(随机数生成) EMAIL(邮箱地址) VOTELOOK(真/假)

用户输入邮箱地址后,程序把邮箱地址和生成的随机数写入数据库,并发送验证地址到邮箱。

例如 http://www.域名.com/mailvote.asp?voteid=c98f3c081ce837a0252d14d7d7e68d7f 

mailvote.asp 获得点击过来的 voteid 数据,通过查询数据库

IF VOTELOOK=TRUE 
提示已经投过票
ELSE
进入投票程序
END IF
------解决方案--------------------
新建表:验证码(当前时间+随机数,再做md5),邮箱地址,投票对象,投票状态

记录数即为投票总数

邮箱地址做字符小写处理后,进行正则判断和数据库唯一性判断

第一步,写入记录

第二步,发邮件

第三步,验证,二次写入