segmento de URL - Perfiles de usuario - CodeIgniter
-
11-09-2019 - |
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
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