询问预约流程

Asking for reservation process

我目前正在制作一个包含预订系统的网站..我想问一下如何避免多次预订(我的意思是恶作剧预订)。我想要这样,如果有人预订,系统不会立即将其添加到数据库中..如果he/she真的确定他所做的预订,则必须得到用户的确认..如果用户确认那是时候,它将被添加到数据库中。我该怎么做?谁能帮我?

如评论中所述,我认为最好的办法是创建您的预订条目并添加一个标志以指示该预订条目未经确认。然后发送带有 link 的确认电子邮件将用户重定向到 php 脚本,该脚本会将预订标记为已确认。这是非常标准的东西,您应该找到示例来了解如何构建一次性确认 URL

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

Post 您的代码需要更多输入

有一个数据库 table 用于临时预订,另一个数据库 table 用于确认预订。当客户确认预订时,会在确认的预订中创建一条记录 table。这也使网站和管理工具分开:客户正在访问临时预订数据库 table -- 管理员正在访问已确认的预订 table.

否则您的数据库 table 是真实预订和未完成预订的大杂烩。验证用户的第一步是搜索唯一的电子邮件地址。第二个是向用户发送电子邮件,他们必须单击并回复它——这样您就可以确认他们正在输入他们有权访问的电子邮件地址。第三种方法是需要一个 phone 手机号码——验证该号码是唯一的——然后向用户发送一条带有随机字符串的短信,用户必须在网站上输入该字符串以确认预订。