这是我在这里的第一个问题,请多多关照!我是第一次设置Codeigniter程序,当我的索引视图工作时,我不能让单独的视图页面工作。它返回404页未找到错误。
我在foreach中有索引视图的代码,指向我认为url应该在的位置:
<a href=<?= site_url("kittens/view/" . $item->id)?>>Details</a>如果我单击id为1的小猫,这将把我带到localhost:8888/index.php/ kitten /view/1,但我得到一个404错误。
下面是我的视图控制器函数:
function view(){
$this->load->model("kittensmodel");
$this->load->view('_header');
$this->load->view('detailview', $data);
$data['kitten_item']= $this->kittensmodel->details();
}下面是我的模型中的函数:
function details(){
$id = $this->url->segment(3);
$this->db->select('*')
->from('kittens')
->where('id', $id);
$data = $this->db->get();
return $data->result();
}为了测试它,我的detailview文件包含了以下内容:
<?php
print_r($kitten_item);
?>我一直在玩弄路线,但一直没有任何运气。这就是我现在所拥有的:
$route['default_controller'] = 'welcome';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
$route['kittens/(:any)'] = 'kittencontroller/view/$1';我是php和codeigniter的新手,答案可能真的很简单,但我真的很感激你的帮助!
发布于 2015-04-04 13:02:00
尝试使用此链接
<a href=<?= site_url("kittens/".$item->id)?>>Details</a>发布于 2015-04-04 13:02:08
我认为这是因为您的站点uri链接应该是base_url和
<a href="<?php echo base_url('kittens'.'/'. $this->url->segment(3))?>">Details</a>
<a href=<?= base_url("kittens" .'/'. $this->url->segment(3))?>>Details</a>
路由:
$route['kittens/(:any)'] = 'folder/controller-name/$1';
$route['kittens/(:any)'] = 'controller-name/$1';
或
$route['kittens/(:any)'] = 'folder/controller-name/index/$1';
$route['kittens/(:any)'] = 'controller-name/index/$1';
始终确保您的链接与您设置的路由相匹配。
发布于 2015-04-04 13:12:20
试试看
<a href=<?= site_url("kittens/view?q=" . $item->id)?>>Details</a>在控制器中
function view(){
$q = $this->input->get('q',True);
$this->load->model("kittensmodel");
$data['kitten_item']= $this->kittensmodel->details($q);
$this->load->view('_header');
$this->load->view('detailview', $data);
}在模型中
function details($q){
$this->db->select('*')
->from('kittens')
->where('id', $q);
$data = $this->db->get();
return $data->result();
}在详细视图中
<?php
print_r($kitten_item);
?>https://stackoverflow.com/questions/29442863
复制相似问题