URL segmento - Profili utente - CodeIgniter
-
11-09-2019 - |
Domanda
Ciao ragazzi, sto cercando di creare profili utente per il mio sito in cui l'URL è qualcosa di simile
mysite.com/user/ChrisSalij
Al momento il mio controller si presenta in questo modo:
<?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
?>
Al momento sto ottenendo un errore 404 ogni volta che vado a;
mysite.com/user/ChrisSalij
Credo che questo è perché si aspetta che ci sia un metodo chiamato ChrisSalij. Anche se sono sicuro che sto abusando del $ this-> uri-> segmento (); Anche comando: P
Qualsiasi aiuto sarebbe apprezzato. Grazie
Soluzione
Il suo perché il controllore è alla ricerca di una funzione chiamata ChrisSalij.
I pochi modi per risolvere questo:
1) cambiamento
function index(){
$data['username'] = $this->uri->segment(2);
essere
function index($username){
$data['username'] = $username;
e utilizzare l'URL di mysite.com/user/index/ChrisSalij
2) se non vi piace l'idea di essere dell'indice nell'URL è possibile modificare la funzione di essere chiamato profilo o simili, o considerare di usare di routing
e usare qualcosa lungo le linee di
$route['user/(:any)'] = "user/index/$1";
per mappare correttamente l'URL di mysite.com/user/ChrisSalij