2012-02-03 66 views
0

所以我從我的url選擇由username一些數據,但我的問題是,我的用戶名是不是unique所以如果有相同的用戶名它創造了我的錯誤,我的怒江url看起來是這樣的:通過用戶名選擇數據

http://adress.com/user/messages/bob

因此,在這種情況下,我會選擇其中用戶名是bob數據,但如果有兩個先令用戶我會得到錯誤,所以我什麼,我想這樣做的用戶id是選擇數據,但隨後我將不得不用id替換用戶名,像這樣:

http://adress.com/user/messages/321

所以我的問題是我怎麼能保持用戶名通過ID insted的電話號碼,但選擇的數據?

順便說一句,我使用的PHP mysql的

+0

如果用戶名字段不唯一,登錄工作對於用戶來說有多精確? – Crontab 2012-02-03 22:04:47

+0

我使用電子郵件,而不是用戶名,也不是用戶名它是用戶的名字,所以它類似於facebook – Linas 2012-02-03 22:05:07

+2

你應該使用數字DB索引,很像StackOverflow ... – DaveRandom 2012-02-03 22:06:02

回答

2

這聽起來像你這樣做是爲了虛榮URL的,所以保持了用戶名,但也可以使用ID字段...即

http://adress.com/user/messages/321/bob 
+0

是的,我可以這樣做,但我想保持網址清潔,如果可能的話 – Linas 2012-02-03 22:07:36

+0

如果你想保持URL乾淨,你可以考慮將用戶ID存儲在cookie中,以便當用戶點擊URL時,你可以閱讀cookie以確定其用戶ID。但是,請確保加密cookie,以便用戶無法修改用戶標識符。還要確保用戶無法通過更改URL來獲取其他用戶的消息。您也可以發佈用戶ID,但您仍然必須確保它不會被欺騙。 – David 2012-02-03 22:08:40

+1

+1 Stackoverflow使用相同的/ id/seo方法:'http:// stackoverflow.com/questions/9136113/select-data-by-username' – webbiedave 2012-02-03 22:14:25