2015-01-21 138 views
0

我开发了一个PHPMySQL网站,它有一个用户注册表和一个支付跑步比赛的网站。商店注册用户和非注册用户付款

问题是有些人,想不登记支付,尽管他们必须键入每场比赛支付亚军信息。

我实际的MySQL架构是

  • USERS(ID,用户名,密码,电子邮件)
  • USER_PROFILES(USER_ID,姓名,性别,出生日期等)
  • EVENTS(ID,name_desc,日期)
  • REGISTRATIONS(IDUSER_ID事项标识,signup_date,bank_order,bank_result)

在开始的时候是很容易的注册一些选手,存储所有信息,并转到EPOS,收到银行的顺序和结果,并且我有一个SQL来检索所有支付赛事赛跑的注册跑步者。

现在我挡在了想法,怎么做,如果一个用户,不希望注册,或者没有一个电子邮件帐户。

我的想法是开发一个简单的表格填写的表格亚军数据,去付出,或键入另一个,然后支付所有参赛者的所有ammount的,而不是每一个在其账户的可能性。

由于我的网站的架构,我不知道如何改进我的实际网站与该其他要素。

我希望我已经解释完美的一切。对不起我的英语不好。

谢谢同事。

里卡多。另一个PHP开发人员。

回答

0

您应该考虑添加“访客用户”的概念。

基本上,您将“客人”结帐视为您的常规结帐,但您需要在USERS表中添加一个新的type列。你的新的模式可能是这样的:USERS (id, type, username, password, email) 选择像“R”(“注册”为)和“G”(即“客户”)的type列的标识符,你就能够轻松地辨别哪些类型的用户你有。

您必须更新您网站的代码以禁止访客用户登录,并且不要求这些帐户拥有密码或用户名,但所有其他表都应该能够使用访客用户提供的user_id

另外,还要确保你的数据库架构没有对Users.email列的唯一索引,因为这会阻止用户通过客人结帐时多次去。

+0

我不同意。我认为注册应该简单但是强制性的。 – Strawberry 2015-01-21 08:34:55

+0

非常感谢你草莓为你的非常好的想法。 现在我唯一的问题是如果用户在比赛中以客人身份注册,以及在第二个或第三个中注册,该怎么办。我检索旧数据吗?或者我在表中添加一个“新用户”作为新的ID用户? 我的问题是,因为“userdata”是西班牙ID,唯一不是null。 – llobu 2015-01-21 09:25:26

+0

非常感谢你草莓。我将开发“(G)uest”解决方案。我只有最后一个问题,因为网络,允许用户名(ID)或电子邮件登录,我必须小心可能的重复。谢谢你,谢谢你,谢谢你 :) – llobu 2015-01-21 16:56:09