2012-01-15 35 views
1

我有一點體系結構問題。
在我的網站上,用戶可以註冊,當他們根據用戶ID登錄網站時,我會將用戶重定向到他的個人資料頁面(類似facebook)。
用戶可以從此頁面點擊列表中的其他用戶並轉到他的個人資料頁面。
當用戶加入他的朋友個人資料頁面時,他可以訪問該頁面上的某些鏈接以查看有關此朋友的更多信息(如他的朋友列表,圖片,信息等)。
所以我現在正在做的是當用戶點擊他的朋友,我保存sessionID中的friendID。 後來當我需要訪問某些東西時,我首先從會話中獲取數據並繼續。
我不知道這種做法好壞嗎?
它的工作原理,但我不知道有更好的方法嗎?我使用session來跟蹤用戶現場 - 有沒有更好的方法

回答

1

恕我直言,這不是一個好設計。這就像使用全局變量來引用「當前的朋友」。顯然,這使得無法一次查看關於兩個不同朋友的信息,例如通過在另一個瀏覽器選項卡或窗口中打開「朋友信息」頁面。

它還將「朋友信息」頁面耦合到「朋友列表」頁面。這意味着任何想要鏈接到朋友信息頁面的其他頁面都必須將該朋友ID放入會話中,並且您不得不通過其中一個頁面查看朋友信息。如果用戶爲朋友信息頁面書籤,關閉他的會話,重新打開一個,並使用他的書籤,它將失敗。

最後,它使應用程序有狀態,而它可以通過使用鏈接(如friendInfo?friendId=<the friend ID>)將「好友列表」頁面鏈接到「好友信息」頁面而保持無狀態。

+0

在哪裏例如Facebook保持跟蹤數據。當我訪問fb(fb.com/someFriend)上的某個朋友頁面時,以及從URL中刪除'someFriend'並單擊信息時,我會獲得該朋友信息。從哪裏閱讀ID數據? – 1110 2012-01-15 12:56:45

+0

我是世界上沒有Facebook賬戶的4位開發人員之一。抱歉。如果朋友* JohnSmith *的URL是'fb.com/JohnSmith',那麼你有你的答案:它從URL中提取朋友的標識(JohnSmith)。 – 2012-01-15 13:00:08

+0

我只是想克隆一些功能:)如果我從url中刪除JohnSmith,它就會迷惑我,它仍然知道我單擊了哪些用戶信息。 – 1110 2012-01-15 13:03:05

相關問題