codeigniter我的删除不知道是不能传参还是路由问题

goyuquan 2014-03-27 10:04:27

路由是这样的
PHP复制代码
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
$route['default_controller'] = 'pages/view';

$route['content/(:any)'] = 'content/view/$1';
$route['content'] = 'content';
$route['content/del/(:any)'] = 'content/del/$1';
$route['content/add'] = 'content/add';
$route['(:any)'] = 'pages/view/$1';

$route['404_override'] = '';
复制代码




控制器是这样的
PHP复制代码
<?phpclass Content extends CI_Controller {

public function __construct()
{
parent::__construct();
$this->load->model('content_model');
}

public function index()
{
$data['title'] = 'Content archive';
$data['content'] = $this->content_model->get_content();

$this->load->view('templates/header', $data);
$this->load->view('content/index', $data);
$this->load->view('templates/footer');
}

public function view($slug)
{
$data['content_item'] = $this->content_model->get_content($slug);

if (empty($data['content_item']))
{
show_404();
}

$data['title'] = $data['content_item']['title'];

$this->load->view('templates/header', $data);
$this->load->view('content/view', $data);
$this->load->view('templates/footer');
}

public function add()
{
$this->load->helper('form');
$this->load->library('form_validation');

$data['title'] = 'Add a content item';

$this->form_validation->set_rules('title', 'Title', 'required');
$this->form_validation->set_rules('text', 'text', 'required');

if ($this->form_validation->run() === FALSE)
{
$this->load->view('templates/header', $data);
$this->load->view('content/add');
$this->load->view('templates/footer');

}
else
{
$this->content_model->set_content();
$this->load->view('templates/header', $data);
$this->load->view('content/add_success');
$this->load->view('templates/footer');
}
}

public function del($slug)
{
$this->content_model->del_content($slug);
}

}
复制代码


数据模型是这样的
PHP复制代码
<?phpclass Content_model extends CI_Model {

public function __construct()
{
$this->load->database();
}

public function get_content($slug = FALSE)
{
if ($slug === FALSE)
{
$query = $this->db->get('content');
return $query->result_array();
}

$query = $this->db->get_where('content', array('id' => $slug));
return $query->row_array();
}

public function set_content()
{
$this->load->helper('url');

$slug = url_title($this->input->post('title'), 'dash', TRUE);

$data = array(
'title' => $this->input->post('title'),
'slug' => $slug,
'text' => $this->input->post('text')
);

return $this->db->insert('content', $data);
}

public function del_content($slug)
{
$this->db->where('id',$slug);
$this->db->delete('content');
}
}
复制代码


我http://localhost/ci//index.php/content/del/1
后就是404 Page Not Found
不知道是不能传参还是路由问题
...全文
191 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
李睿_Lee 2014-03-27
  • 打赏
  • 举报
回复
写路由的一个原则:会被包含的规则要写在包含他的规则上面,否则就应用不到了。
goyuquan 2014-03-27
  • 打赏
  • 举报
回复
$route['content/(:any)'] = 'content/view/$1';
goyuquan 2014-03-27
  • 打赏
  • 举报
回复
如果web 服务器不支持 PATH_INFO, 为什么 http://localhost/ci//index.php/content/1 确能显示文章
xuzuning 2014-03-27
  • 打赏
  • 举报
回复
如果象 http://localhost/ci/index.php/content/del/1 这样的 url 会找不到文件的话 就表示你的 web 服务器不支持 PATH_INFO
goyuquan 2014-03-27
  • 打赏
  • 举报
回复
5楼正解, $route['content/del/(:any)'] = 'content/del/$1';一定要放在 $route['content/(:any)'] = 'content/view/$1';的前面,否则会背后截获
内容概要:本文围绕“分布式电源接入配电网承载力评估方法”的研究展开,重点复现了一项基于双层鲸鱼优化算法求解的核心学术论文,结合Matlab编程实现,对IEEE 33节点配电网系统进行建模与仿真分析。研究旨在科学评估在大规模分布式电源接入背景下配电网的承载能力,构建了综合考虑系统运行安全性、电能质量、网络损耗及电压稳定性等多重约束条件的优化评估模型,并采用高效的智能优化算法进行求解,有效提升了评估精度与计算效率,为新能源并网规划、电网扩容改造及运行决策提供了可靠的理论依据和技术支撑。该资源不仅提供完整的代码实现,还深入解析算法设计逻辑与模型构建流程,具有较强的科研复现价值和工程参考意义。; 适合人群:具备电力系统分析基础理论知识和Matlab编程能力,从事新能源并网、智能配电网规划、电力系统优化、分布式能源管理等方向的研究生、科研人员及电力行业工程技术人员。; 使用场景及目标:① 学习并掌握分布式电源接入对配电网影响的量化评估方法;② 深入理解双层优化架构与智能算法(如鲸鱼优化算法)在复杂电力系统问题中的应用机制;③ 获取可运行、可调试的Matlab代码资源,用于科研论文复现、课题研究仿真、课程设计或工程项目前期论证。; 阅读建议:此资源以核心论文的技术路线为基础,强调理论与实践相结合。建议读者在阅读过程中结合电力系统潮流计算、约束优化等基础知识,逐步理解模型构建思路,并动手运行与调试所提供的Matlab代码,通过参数调整与结果分析深化对算法性能与工程适用性的认知,从而真正实现从“看懂”到“掌握”的转化。

4,250

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧