我有codeigniter设置使用“home”作为显示主页的默认控制器 我试图在家庭控制器中运行索引功能来收集uri段以确定是否重定向或显示主页但似乎认为uri段是另一个控制器mysite.com/segment1
function index(){
$url1 = $this->uri->segment(1);
if(!empty($url)){
echo $url1;
}
else{
$this->load->view('home_page');
}
}
答案 0 :(得分:0)
您要将$url1
设置为细分,然后再测试if $url is empty
。
从您的代码中,$url
将始终为空。
请务必密切关注您所谓的变量。
所以你现在拥有......
function index(){
$url1 = $this->uri->segment(1);
if(!empty($url)){ // $url will always be empty as it's not defined.
echo $url1;
}
else{
$this->load->view('home_page');
}
}
你应该拥有什么......
function index(){
$url = $this->uri->segment(1);
if(!empty($url)){
echo $url;
}
else{
$this->load->view('home_page');
}
}
然后它会像你想象的那样。
答案 1 :(得分:0)
您可以将默认控制器设置为home。然后,为了能够阅读$this->uri->segment(3);
你需要通过URL mysite.com/controller/function/uri-segment(3)传递你的uri。如果您在家庭控制器mysite.com中有一个索引功能,并且您希望通过uri传递值11,则您的url shuld看起来像这样:
mysite.com/home/index/11
答案 2 :(得分:0)
为此,我必须将路线更改为
$routes[('any')] = "New_controller"; //created a new controller
在“New_controller”中我可以定义我想要的第一段
function index(){
// define segments
$url = $this->uri->segment(1);
if(!empty($url)){
echo $url;
}
当然还有我的
$routes['default_controller'] = "home";
function index(){
// home controller
$this->load->view('home_page');
}
现在当我去mysite.com时它会带我到主页或者如果我去mysite.com/12345它会带我到新的控制器页面,在那里我可以在段上运行查询