这里是上下文:
在慈善舞会中,人们将登录网页,输入电子邮件和姓名,获取唯一代码。有了这个代码,他们就会去特别的柜台,并根据他们有代码的事实得到感谢礼物,证明他们的注册。
我被要求建立一个简单的网页,该网页会生成一个字母数字代码链接并发送到任何电子邮件地址。这对我来说很容易。
我不知道该怎么做:
如何创建另一个页面,一个人可以输入代码以查看它是否合法并将奖品提供给声称它的人?
他们可能已经存在解决方案,但我没有找到它,我认为在Google中选择错误的单词。
任何帮助都将不胜感激。
答案 0 :(得分:3)
我认为最好的方法是每次生成代码时将代码记录到某种类型的数据库中,然后当该人去收集他们的礼物时,查询数据库以查看它是否是代码以前生成过。如果是,你知道这是合法的。
您还可以轻松扩展此功能,以添加将代码标记为已使用的功能,因此不能用于收集多个礼物。
答案 1 :(得分:0)
如果您不想处理数据库,请像序列号一样处理它。生成1或2组序列化的数字(0019 - 0001
,0019 - 0002
,0019 - 0003
等),然后使用这些数字组,生成2组或更多组数字(如( 0019 - 0001 - 8276 - 7384
)。然后,当用户传入他们的号码时,取前两个号码并生成相同的号码,然后测试它们是否相等。这应该在服务器端完成,如果它是在客户端完成(使用javascript),它将很容易破解(只需打开控制台)。
答案 2 :(得分:0)
如果您不想修改SQL或某些“真实”数据库,可以使用简单的XML或JSON“数据库”。
只需创建一个文件并在其中写入一个空的JSON-Array([]
)。如果你想添加密钥,只需读出文件,使用json_decode($file_content, true)
将其转换为php数组,并将新密钥写入该数组。然后,您只需使用json_encode($file_content)
将数组写回文件并将结果写入文件。
如果要检查输入的密钥,只需执行读取和转换操作并循环遍历数组以检查密钥。
这在大规模上会太慢,但对于一个小项目来说,它可能完全没问题。
答案 3 :(得分:-1)
考虑关于客户端身份代码生成器问题的jQuery GUID helper插件。 GUID是全球唯一标识符。
但您仍需要决定如何存储已注册的礼品ID,以及如何稍后检查它们是否有效。