Pergunta

Ei, eu estou tentando criar perfis de utilizador para o meu site onde o url é algo como

mysite.com/user/ChrisSalij

Atualmente minha aparência controlador assim:

<?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
?>

No momento eu estou recebendo um erro 404 sempre que eu ir para;

mysite.com/user/ChrisSalij

Eu acho que isso é porque ele está esperando que haja um método chamado ChrisSalij. Embora eu tenho certeza que estou fazendo mau uso do this-> uri-> segment $ (); comando também: P

Qualquer ajuda seria apreciada. Graças

Foi útil?

Solução

É porque o controlador está à procura de uma função chamada ChrisSalij.

As poucas maneiras de resolver isso:

1) mudança

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

ser

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

e usar a url do mysite.com/user/index/ChrisSalij

2) se você não gosta da idéia de ser índice no URL, você poderia alterar a função a ser chamado de perfil ou similar, ou olhar em usar roteamento

e uso algo ao longo das linhas de

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

para mapear corretamente a URL de mysite.com/user/ChrisSalij

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top