我们正在尝试为我们的电子商务项目添加新功能,目前遇到无注册选项的困难。 我们当前将一般用户数据存储在“用户”表中(用户名、出生日期等),并与“用户地址”(送货地址、电话等)、“用户订单”(发票总额、日期等)和“用户订单商品”(购买了哪些产品以及价格)表相关联。管理员面板使用这些表来跟踪订单。 如何实现无注册选项最佳?我们考虑用给定的名称和电子邮件地址为用户注册随机密码。但如果用户下次想注册,这将是一个障碍,因为电子邮件地址已经注册。你有什么建议吗?
你有三种选择: 1)每个订单都需要注册和认证用户。 2)订单不需要用户进行注册/认证。在这种情况下,您必须保护自己免受机器人和用户的攻击。因此,您可以: 添加验证码(防止机器人) 添加电子邮件确认(用于验证)-仅在单击邮件中的特殊链接后才将订单保存在数据库中。 通过电话验证每个订单 您可以仅根据邮件发送非注册用户的订单,而不是将它们存储在数据库中(不推荐) 地址、联系信息和其他信息您可以在订单表中保存(对于注册用户,它们将为空)。 3) 4) 您可以将这些选项混合使用。 请记住,用户应该从注册中受益(例如:订单历史记录),否则没有人会注册。他们将使用最简单的订购方式。
注册用户和非注册用户的主要区别通常在于前者可以登录并查看他们的订单,而后者则不能。 因此,您可以将它们存储得一样,只需要为非注册用户使用伪名称而不是密码。也就是说:1. 在您的表中使密码可空,2. 当有人在未注册时下订单时,为用户名创建一个UUID。 (也许您还需要使更多字段可空,这些字段对于注册用户是必填的,但对于非注册用户不是必填的。) 编辑:当然,您也可以保持密码不可空,并生成一些永远不会使用的密码与用户名一起。
能否使用电子邮件地址作为用户名?电子邮件地址是唯一的,对于客户来说不需要额外记住一个细节。 如果已注册的客户忘记或想要更改密码-您可以发送电子邮件以完成该过程。 对于未注册的客户-本质上与忘记密码完全相同。 他们可以收到电子邮件并设置密码。 否则,您不会让某个人使用空白密码登录-因此,该字段为空不会成为问题。