我开发了一个PHP和MySQL网站,该网站为用户提供了注册表,并为跑步比赛支付了费用。
问题是有些人想在没有注册的情况下付款,尽管他们必须在每场比赛付款时输入跑步者信息。
我的实际 MySQL 架构是
- 用户(ID、用户名、密码、电子邮件)
- USER_PROFILES(user_id、姓名、姓氏、性别、出生日期等)
- 事件(ID、name_desc、日期)
- 注册(ID、user_id、event_id、signup_date、bank_order、bank_result)
一开始,注册一些跑步者,存储所有信息,然后去EPOS,接收银行的订单和结果非常容易,我有一个SQL来检索所有支付赛事跑步比赛费用的注册跑步者。
现在我的想法被阻止了,如果用户不想注册或没有电子邮件帐户该怎么办。
我的想法是可以开发一个简单的表格来填写表单运行器数据,然后去付款,或者输入另一个,然后支付所有运行器的所有费用,而不是他们帐户中的每个运行器。
由于我的网站架构,我不知道如何使用其他功能改进我的实际网站。
我希望我已经完美地解释了一切。对不起我的英语不好。
谢谢同事们。
里卡多。又一个PHP开发者。
应考虑添加"来宾用户"的概念。
基本上,您将"访客"结帐视为与常规结帐相同,但您会在 USERS 表中添加新的type
列。您的新架构可能如下所示:USERS (id, type, username, password, email)
为type
列选择一个标识符,例如"R"(表示"已注册")和"G"(表示"访客"),您将能够轻松识别您拥有哪种类型的用户。
您必须更新站点代码以禁止来宾用户登录,并且不要求这些帐户具有密码或用户名,但所有其他表应该能够使用来宾用户提供的user_id
。
此外,请确保您的数据库架构在 Users.email 列上没有唯一索引,因为这会阻止用户多次进行访客结账。