2014-03-19 75 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

相關問題