Question

Hé les gars, je suis en train de créer des profils utilisateur pour mon site où l'URL est quelque chose comme

  

mysite.com/user/ChrisSalij

Actuellement, mon contrôleur ressemble à ceci:

<?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 ce moment, je reçois une erreur 404 chaque fois que je vais;

  

mysite.com/user/ChrisSalij

Je pense que c'est parce qu'il attend qu'il y ait une méthode appelée ChrisSalij. Bien que je suis sûr que je suis abusant du $ this-> uri-> segment (); commande aussi: P

Toute aide serait appréciée. Merci

Était-ce utile?

La solution

Son parce que le contrôleur est à la recherche d'une fonction appelée ChrisSalij.

Les quelques façons de résoudre ceci:

1) Variation

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

être

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

et utiliser l'url de mysite.com/user/index/ChrisSalij

2) si vous ne aimez pas l'idée de l'indice étant dans l'URL, vous pouvez changer la fonction à appeler le profil ou similaires, ou regarder dans routage

et utiliser quelque chose le long des lignes de

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

pour mapper correctement l'URL de mysite.com/user/ChrisSalij

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top