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