首页 文章

CodeIgniter路由并将值传递给方法

提问于
浏览
3

有一些我没有得到关于使用路由来调用传递三个值的方法 . 我有一个控制器,里面有以下方法

public function view_day($year, $month, $day)
{
    $data['year'] = $year;
    $data['month'] = $month;
    $data['day'] = $day;

    $this->load->view('calendar/view_day', $data);
}

和我的views文件夹中的页面如下

<? 
    echo $this->uri->segment(5).'<p>'; 
    echo $day;
?>

最后,在我的路线文件中,我有以下一行

$route['calendar/date/:num/:num/:num'] = "calendar/view_day/$1/$2/$3";

我应该做的是路由一个网址

http://www.mydomain.com/index.php/calendar/date/2012/06/10

到我的日历控制器传递三个值(2012年,06年和10年)到我的view_day方法 . 然后,收集这三个值并将它们传递到我的最后一页,以便在我的演示文稿页面中使用$ day,$ month和$ year . 现在,在结果上面运行url是

10(由行返回 - > echo $ this-> uri-> segment(5) . '';)$ 3(由行返回 - > echo $ day;)

基本上,我没有得到的是我的演示文稿页面中的变量$ day没有获得任何值在url中传递,但返回我在路由语句中写的相同文本($ 3) .

谢谢

1 回答

  • 6

    您应该像这样定义您的路线

    $route['calendar/date/(:num)/(:num)/(:num)'] = "calendar/view_day/$1/$2/$3";
    

相关问题