电子商务网站在哪里存储非注册用户的订单?

3
我们正在尝试为我们的电子商务项目添加新功能,目前遇到无注册选项的困难。 我们当前将一般用户数据存储在“用户”表中(用户名、出生日期等),并与“用户地址”(送货地址、电话等)、“用户订单”(发票总额、日期等)和“用户订单商品”(购买了哪些产品以及价格)表相关联。管理员面板使用这些表来跟踪订单。 如何实现无注册选项最佳?我们考虑用给定的名称和电子邮件地址为用户注册随机密码。但如果用户下次想注册,这将是一个障碍,因为电子邮件地址已经注册。你有什么建议吗?

在下订单前:将购物车保存在会话中。下订单后,保存到数据库中。但是,在未注册的用户能够发送订单之前,他/她应该进行验证。您可以通过发送带有确认请求的电子邮件来实现此功能。 - Andrzej Reduta
但这没有任何区别吗? - Kuzgun
是的。在用户表中不会有对象(可以按顺序存储电子邮件)。如果用户未注册,则无法将其数据存储在数据库中。 - Andrzej Reduta
但整个重点是为用户节省时间。如果用户经历了一些验证过程,这将不会发生。 - Kuzgun
强烈建议进行验证过程,否则您可能会被淹没。 - Andrzej Reduta
3个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
4
你有三种选择: 1)每个订单都需要注册和认证用户。 2)订单不需要用户进行注册/认证。在这种情况下,您必须保护自己免受机器人和用户的攻击。因此,您可以:
  1. 添加验证码(防止机器人)
  2. 添加电子邮件确认(用于验证)-仅在单击邮件中的特殊链接后才将订单保存在数据库中。
  3. 通过电话验证每个订单
  4. 您可以仅根据邮件发送非注册用户的订单,而不是将它们存储在数据库中(不推荐)
地址、联系信息和其他信息您可以在订单表中保存(对于注册用户,它们将为空)。 3) 4) 您可以将这些选项混合使用。 请记住,用户应该从注册中受益(例如:订单历史记录),否则没有人会注册。他们将使用最简单的订购方式。 enter image description here

你如何追踪地址或知道如何发货给未注册用户,而不需要存储他们的地址?(顺便说一句,不错的答案) - orustammanapov
1
在 us_temporary_user 表中 - Andrzej Reduta

2
注册用户和非注册用户的主要区别通常在于前者可以登录并查看他们的订单,而后者则不能。 因此,您可以将它们存储得一样,只需要为非注册用户使用伪名称而不是密码。也就是说:1. 在您的表中使密码可空,2. 当有人在未注册时下订单时,为用户名创建一个UUID。 (也许您还需要使更多字段可空,这些字段对于注册用户是必填的,但对于非注册用户不是必填的。) 编辑:当然,您也可以保持密码不可空,并生成一些永远不会使用的密码与用户名一起。

1

能否使用电子邮件地址作为用户名?电子邮件地址是唯一的,对于客户来说不需要额外记住一个细节。

如果已注册的客户忘记或想要更改密码-您可以发送电子邮件以完成该过程。 对于未注册的客户-本质上与忘记密码完全相同。 他们可以收到电子邮件并设置密码。

否则,您不会让某个人使用空白密码登录-因此,该字段为空不会成为问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,