麻烦的实现下载代码赎回



我正在为一家小型独立唱片公司设计一个网站,他们给了我一个重磅炸弹,问我是否可以实现一个功能,用户可以输入代码来接收数字下载。

有一个简单的解决方案吗?我在想所有我需要的是一个输入字段,用户可以输入一个代码,它得到验证,然后允许下载,但它听起来太简单。对于像.php这样的东西(完全初学者),这可能吗?

我愿意学习,否则我已经把它打包了,所以任何建议都会很好。谢谢。


编辑:

感谢一些伟大的建议,我能够创建这个!

如果您想在一个非常简单的级别上完成它,那么它并不比您描述的要多。您需要熟悉PHP和MySQL或其他数据库,但创建它并不太难。

你需要弄清楚一些事情,例如你希望如何限制代码,在前24小时内进行3次下载以允许失败下载,将其限制为IP,或者严格地进行一次完整下载。由于您拥有给定的1000个代码的列表,因此您可能希望基于预先生成并插入到数据库中的代码来构建系统,而不是使用可以动态验证代码并检查已使用代码的算法。

你可能希望将下载的内容存储在一个不能从web访问的目录中,php脚本将验证代码,如果有效,则将下载的内容提供给用户。

你可以从wordpress插件的数据库结构中寻找其他的想法,但我认为至少你需要:

download_code   (the code itself, probably primary key or at least index)
download_file   (optional, the name/path of the file this code allows them to download)
redeemed        (0 if not redeemed, 1 if redeemed)
redemption_time (timestamp of the first, or last redemption based on your requirements)
download_count  (how many times downloaded if allowing more than 1)
ip_address      (ip address of the redeemer)
email_address   (email address if you want to collect it, or give user the option)
download_url    (the unique string for the download url.  this could be one way to implement   download verification beyond the code, but is not necessary)
然后,您需要创建一个html页面,其中包含用于输入代码的文本框,以及您希望收集的任何其他可选数据。表单将提交到PHP脚本。

当PHP脚本接收到表单发布时,它将验证所有数据(例如,如果您正在收集电子邮件地址)。一旦所有数据都有效,就从数据库中读取,寻找与用户输入的代码匹配的代码。

如果没有在代码中找到数据,则将它们发送回表单以尝试重新输入。如果找到了记录,则可以检查数据库中的redeemed值,并查看代码是否已被使用。如果有,你可以在这里使用自定义逻辑来决定它们是否仍然在下载窗口内,ip地址是否相同,或者你想使用的任何标准来允许重新下载。

如果已被赎回,则显示错误消息。如果仍然可以下载,则可以通过读取文件并将其发送到浏览器来提供下载(参见示例#1)。

在某些时候,您必须更新数据库,将redeemed标志设置为1,并更新其他值,如时间戳和下载计数。您可以在提供下载之前运行此代码,也可以在提供下载之后运行此代码。在某些情况下,如果下载被切断,脚本的最后一部分将不会运行,因此不会更新redeem或download_count。这可能是你想要的,也可能不是你想要的,所以你可以决定在哪里进行更新。

最终你可以更新它,包括一个管理面板,但在开始时,所有的配置可以在php脚本或配置文件中完成。最终,你可以使用flash或其他技术来更新它,以下载文件并显示进度条等。

希望这能给你一些关于你是否想要尝试实现它的想法。否则,你可以在Hotscripts上搜索php,看看是否有你想要的独立版本。

相关内容

  • 没有找到相关文章

最新更新