无法访问代码点火器中的自定义视图



我在访问我在CodeIgniter中创建的自定义视图时遇到问题。每当我想导航到我作为应用程序制作的列表时,它都会给我一条消息,说,404 页面未找到,即使我在自动加载中.php在配置文件夹中包含了我在自动加载中创建的模型。以下是我正在创建的列表应用程序中的一些代码:

这是我在控制器中名为 lists.php 的代码:

<?php 
class Lists extends CI_Controller{
// Display a specific list
public function display_list($list_id){
//display information about the list
$data['list_data'] = $this->lists_model->get_list($list_id);
$data['main_view'] = 'project_views/lists/display_list';
$this->load->view('project_views/layouts/main', $data);
}
?>

这是我的模型中名为 lists_model.php 的代码:

<?php 
class Lists_model extends CI_Model{
public function get_list($list_id){
$this->db->where('id', $list_id);
$query = $this->db->get('lists');
return $query->row();
}
?>

这是我在视图中的代码,称为display_list.php

<div class="col-xs-9">
<h3>List Name:<?php echo $list_data->list_name;?></h3>
<h3>Created by:<?php echo $list_data->list_creator;?></h3>
<h3>Lists Details:</h3>
<p class="lists-description">
<?php echo $list_data->list_details;?>
</p>
</div>

这是我的索引中的代码.php在我的视图文件夹中:

<h1>Lists made with Takenote</h1>
<p class="bg-success">
<?php if($this->session->flashdata('list_created')): ?>
<?php echo $this->session->flashdata('list_created'); ?>
<?php endif; ?>
<?php if($this->session->flashdata('list_updated')): ?>
<?php echo $this->session->flashdata('list-updated'); ?>
<?php endif; ?>
<?php if($this->session->flashdata('list_deleted')): ?>
<?php echo $this->session->flashdata('list_deleted'); ?>
<?php endif; ?>
</p>
<div class="panel panel-primary">
<div class="panel-heading"><h3>Lists</h3></div>
<div class="panel-body">
<ul class="list-group">
<?php foreach($lists as $list): ?>
<li class="list-group-item">
<a href="<?php echo base_url();?>project_controllers/lists/create" class="btn btn-success pull-right">
Create a List
</a>
<h3 align="center">
<a href="<?php echo base_url();?>project_contollers/lists/display_list/<?php echo $list->id;?>">
<?php echo $list->list_name; ?>
</a>            
</h3>
</li>
<?php endforeach; ?>
</ul>
</div>
</div>

我什至将我在自动加载中创建的模型包含在 config 文件夹中.php:

$autoload['model'] = array('project_models/user_model', 'project_models/project_model', 'project_models/tasks_model', 'project_models/lists_model');

但是,即使这样做了,当我尝试导航到特定列表时,我仍然会收到一条消息,指出404 页面未找到

请看一下 https://www.codeigniter.com/userguide3/general/routing.html#wildcards

它可能会为您提供所需的详细信息。

我相信您需要为此应用程序添加自定义路由。

粗心大意。经过几分钟的调试,我已经解决了问题。我错过的是我在索引中添加链接的路径中的单个字母.php。这是我被困在几分钟到一个小时的代码:

<a href="<?php echo base_url();?>project_contollers/lists/display_list/<?php echo $list->id;?>">
<?php echo $list->list_name; ?>
</a> 

它应该是这样的:

<a href="<?php echo base_url();?>project_controllers/lists/display_list/<?php echo $list->id;?>">
<?php echo $list->list_name; ?>
</a>

相关内容

  • 没有找到相关文章

最新更新