URL-Segment - Benutzerprofile - Codeigniter
-
11-09-2019 - |
Frage
Hey Jungs, ich versuche, Benutzerprofile für meine Website, wo die URL ist so etwas wie
zu erstellenmysite.com/user/ChrisSalij
Zur Zeit meines Controller sieht so aus:
<?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
?>
Im Moment erhalte ich einen 404-Fehler, wenn ich gehe zu;
mysite.com/user/ChrisSalij
Ich denke, das liegt daran, dass es dort erwartet eine Methode namens ChrisSalij. Obwohl ich bin sicher, dass ich das $ this- bin missbräuchlich> uri-> Segment (); Befehl zu: P
Jede Hilfe wäre sehr geschätzt. Dank
Lösung
Sein, weil der Controller für eine Funktion namens ChrisSalij suchen.
Die wenigen Möglichkeiten, dies zu lösen:
1) Änderung
function index(){
$data['username'] = $this->uri->segment(2);
sein
function index($username){
$data['username'] = $username;
und verwenden Sie die URL mysite.com/user/index/ChrisSalij
2), wenn Sie wie die Idee des Index in der URL nicht sein könnten Sie die Funktion ändern genannt Profil oder dergleichen sein, oder schauen Sie in mit Routing
und verwenden Sie etwas entlang der Linien von
$route['user/(:any)'] = "user/index/$1";
korrekt die URL mysite.com/user/ChrisSalij zur Karte