2015-01-21 152 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