2014-03-19 37 views
0

我想弄清楚如何在codeigniter中查看配置文件页面。我知道如何在CodeIgniter中创建模板等,但我不知道以何种方式以安全的方式处理“从用户名到用户名的转换”。这是用户未登录时应查看的个人资料(公开个人资料)。从我的个人资料控制器如何根据用户的用户名为公共配置文件视图获取正确的ID?

代码片段:

$username = uri_segment(3); //Here's the actual username is stored in the url 
$profile = new Profile(); 
$this->user_id = $profile->getUserByUserName($username); 

上面似乎确定,对不对?但是当用户名包含空格,则“用户名链接”“古斯塔夫·维贝格”“古斯塔夫-WIBERG”(空格用连字符代替,用户名是小写)得到。

实际的链接可能是这个样子:http://www.domain.com/profile/gustav-wiberg

但是如果我检查该链接,以uri_segment我得到的用户名“古斯塔夫-WIBERG”,而不是“古斯塔夫·维贝格”,这是真实的用户名我想用比较(通过获取$profile->getUserByUserName($username);返回值。

难道我走错办法呢?或者是基于每个用户名必须是唯一的好办法。

我可以做从uri_segment “古斯塔夫更换-wiberg“大写每个单词并用空格替换hypens,然后执行我的查询来检查该用户名的id?

请给我任何指针...

回答

2

要么你可以把支票在创建用户名是不应该有空格,即用户可以创建一个URL友好的用户名。或者如你所说,你可以从uri_segment做一个替换。但考虑到不同的场景,这种方法可能会产生问题,所以创建一个友好的用户名称似乎更好。

另外一个选择是,您可以在DB中添加一个字段以及用户名,例如“slug”。其中,您可以将用户名转换为URL友好名称和商店。检索时检查该名称。

+0

感谢您的输入! slu seems似乎是一个不错的选择! – bestprogrammerintheworld

相关问题