2009-07-07 2 views
1

Эй, ребята, я пытаюсь создать пользовательские профили для моего сайта, где URL-то вродеURL сегмент - Профили пользователей - Codeigniter

mysite.com/user/ChrisSalij

В настоящее время мой контроллер выглядит так:

<?php 
class User extends Controller { 
    function user(){ 
     parent::Controller(); 
    } 

    function index(){ 
     $data['username'] = $this->uri->segment(2); 

     if($data['username'] == FALSE) { 
     /*load default profile page*/ 
     } else { 
     /*access the database and get info for $data['username']*/ 
     /*Load profile page with said info*/ 
     }//End of Else 
    }//End of function 
}//End of Class 
?> 

В настоящий момент я получаю ошибку 404 всякий раз, когда я иду;

mysite.com/user/ChrisSalij

Я думаю, что это потому, что он ожидает там быть метод, называемый ChrisSalij. Хотя я уверен, что я злоупотребляю сегментом $ this-> uri->(); также: P

Любая помощь будет оценена. Thanks

ответ

3

Его так как контроллер ищет функцию ChrisSalij.

Несколько способов решить эту проблему:

1) изменение

function index(){ 
$data['username'] = $this->uri->segment(2); 

быть

function index($username){ 
$data['username'] = $username; 

и использовать URL из mysite.com/user/index/ChrisSalij

2) Если вам не нравится идея индекса в URL-адресе, вы можете изменить функцию, которая будет называться профилем или как, или посмотреть в использовании routing

и использовать что-то вдоль линий

$route['user/(:any)'] = "user/index/$1"; 

правильно отображать URL в mysite.com/user/ChrisSalij

+0

работает как шарм. Спасибо. Я чувствую себя идиотом за то, что не думал о прохождении функции: P –

 Смежные вопросы

  • Нет связанных вопросов^_^