要求预订流程

时间:2015-03-08 15:20:20

标签: php mysql html5 codeigniter

我目前正在制作一个包含预订系统的网站..我想询问我是否可以避免多次预订(我的意思是恶作剧预订)。我希望这样,如果有人预订,系统将不会立即将其添加到数据库中..如果他/她确实确定他所做的预订,必须得到用户的确认..如果用户然后确认时间,它将被添加到数据库中..我该怎么做?谁能帮我?

2 个答案:

答案 0 :(得分:1)

在评论中,我认为最好的办法是创建您的预订条目并添加一个标志,表明预订条目未经证实。然后发送带有链接的确认电子邮件是有意义的,该链接将用户重定向到php脚本,该脚本会将预订标记为已确认。这是非常标准的内容,您应该找到如何构建一次性确认URL的示例

评论中提到了如何避免多次预订。不是查看主键/唯一约束,而是通过检查用户的电子邮件地址并确保其在该日期和时间中的唯一性来更简单地实现。对电子邮件的一个独特约束是没有意义的,因为大概你希望同一个用户进行多个预订。您可以考虑在日期和电子邮件上使用复合约束,但这可能在数据库级别上过于严格。最好使用可配置的值在PHP中实现(例如,每X小时/天没有电子邮件可以预订多次)

发布您的代码以获取更多输入

答案 1 :(得分:0)

有一个db表用于临时预留,另一个db表用于已确认的预留。当客户确认预订时,在确认的预订表中创建记录。这也为网站和管理工具保持独立:客户正在访问临时预订数据库表 - 管理员正在访问已确认的预订表。

否则你有一个db表,它是真实预订和未完成预告的混搭。验证用户的第一步是搜索唯一的电子邮件地址。第二个是向用户发送电子邮件,他们必须单击并回复它 - 因此您确认他们正在输入他们有权访问的电子邮件地址。第三个是需要移动电话号码 - 验证号码是唯一的 - 然后向用户发送带有随机字符串的文本消息,他们必须在网站中输入以确认预订。