2012-02-03 48 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