我有一些关于使用route来调用传递三个值的方法的东西。
中有一个带有以下方法的控制器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(由行返回 - &gt; echo $ this-&gt; uri-&gt; segment(5)。'';) 3美元(由行返回 - &gt; echo $ day;)
基本上,我没有得到的是我的演示文稿页面中的变量$ day没有获得在url中传递的任何值,但返回我在路由语句中写的相同文本($ 3)。
由于
答案 0 :(得分:6)
你应该像这样定义你的路线
$route['calendar/date/(:num)/(:num)/(:num)'] = "calendar/view_day/$1/$2/$3";