Pregunta

Hola chicos, Estoy intentando crear perfiles de usuario para mi sitio, donde la url es algo así como

  

mysite.com/user/ChrisSalij

En la actualidad mi regulador se ve así:

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

En el momento en que estoy recibiendo un error 404 cuando voy a;

  

mysite.com/user/ChrisSalij

Creo que esto se debe a que se espera que haya un método llamado ChrisSalij. Aunque estoy seguro de que estoy haciendo mal uso de la> uri-> segmento de $ this (); comando demasiado: P

Cualquier ayuda sería apreciada. Gracias

¿Fue útil?

Solución

Su porque el controlador está en busca de una función llamada ChrisSalij.

Las pocas maneras de resolver esto:

1) cambio

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

ser

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

y utilizar la url de mysite.com/user/index/ChrisSalij

2) si no te gusta la idea de estar en el índice de la URL que podría cambiar la función a ser llamada perfil o similares, o mirar en el uso enrutamiento

y usar algo en la línea de

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

para asignar correctamente la dirección URL de mysite.com/user/ChrisSalij

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top