2016-03-20 12 views
0

I routes.php

$route['category']='Home/category'; 

geändert haben url aussehen wie www.website.com/category insteead von www.website zur Herstellung von .com/Home/Kategorie. Seit Home ist mein Standard-Controller. aber wenn ich $this->uri->segment(); innerhalb der Kategoriefunktion verwende, funktioniert es nicht. dies ist mein Controller

class Home extends CI_Controller { 

    public function category() 
    { 
    $value=$this->uri->segmet(3); 
    } 
} 

Und meine url ist www.website.com/category/books I Ergebnis bin immer wenn ich Route nicht ändern. Aber wenn ich Routen ändere, muss das funktionieren. Bitte hilf mir. Dank

+0

ihr uri-> Segment(). Ich habe hier falsch geschrieben. Bitte helfen Sie – Ramkisan

Antwort

0

können Sie debuggen, was Sie haben es von:

var_dump($this->uri->segment_array()); 

dies wird Ihnen array of all segments in URI.

Sie können auch versuchen, mit dieser Methode zu debuggen:

var_dump($this->uri->rsegment_array()); 

das Sie array of all routed segments in URI geben

respectivelly, können Sie $this->uri->segment() oder $this->uri->rsegment() verwenden, was auch immer Sie besser geeignet für Ihre Anwendung zu finden.

0

Zunächst einmal müssen Sie URL-Bibliothek laden und als wenn Ihre URL lautet:

www.website.com/category/books 

Und wollen Sie books von URL zu bekommen, als Segment sein sollte:

$value=$this->uri->segment(2); //books 
1

hallo bitte überprüfen Segment Rechtschreibung in Ihrem Code

class Home extends CI_Controller { 

    public function category() 
    { 
    $value=$this->uri->segmet(3); //wrong 
    $value=$this->uri->segment(3); 
    } 
} 
0

Meine URL-Bibliotheken sind in Autoloa d. Jedenfalls habe ich es gelöst. Ich habe meine Routen so konfiguriert $route['category/(:any)']='Home/category/$1'