Frage

Hey Jungs, ich versuche, Benutzerprofile für meine Website, wo die URL ist so etwas wie

zu erstellen
  

mysite.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

War es hilfreich?

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top