【发布时间】:2016-04-22 22:40:15
【问题描述】:
routes.php
$route['admin/news'] = 'admin_news/index'; //在职的 $route['admin/news/(:any)'] = 'admin_news/view/$1'; //在职的 $route['admin/news/create'] = 'admin_news/create'; //在职的 $route['admin/news/edit/(:any)'] = 'admin_news/edit/$1'; //不工作 $route['admin/news/delete/(:any)'] = 'admin_news/delete/$1'; //不工作控制器:admin_news.php
if (!defined('BASEPATH')) exit('不允许直接访问脚本'); 类 Admin_news 扩展 CI_Controller { 公共函数 __construct() { 父::__construct(); $this->load->model('news_model'); $this->load->helper('url'); if(!$this->session->userdata('is_logged_in')){ 重定向('管理员/登录'); } } 公共函数索引() { $data['news'] = $this->news_model->get_news(); $data['title'] = '新闻存档'; $this->load->view('admin/includes/header', $data); $this->load->view('admin/news/index', $data); $this->load->view('admin/includes/footer'); } 公共函数视图($slug = NULL) { $data['news_item'] = $this->news_model->get_news($slug); 如果 (空($data['news_item'])) { 显示_404(); } $data['title'] = $data['news_item']['title']; //$this->load->view('templates/header', $data); $this->load->view('admin/news/view', $data); //$this->load->view('templates/footer'); } 公共函数创建() { $this->load->helper('form'); $this->load->library('form_validation'); $data['title'] = '创建一条新闻'; $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('admin/includes/header', $data); $this->load->view('admin/news/create', $data); $this->load->view('admin/includes/footer'); } 别的 { $this->news_model->set_news(); $this->load->helper('url'); $this->index(); } } 公共功能编辑($slug) { $data['news_item'] = $this->news_model->get_news($slug); 如果 (空($data['news_item'])) { 显示_404(); } $data['title'] = '编辑:'.$data['news_item']['title']; $this->load->helper('form'); $this->load->library('form_validation'); $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('admin/includes/header', $data); $this->load->view('admin/news/edit', $data); $this->load->view('admin/includes/footer'); } 别的 { $this->news_model->update_news( $this->input->post('id'), $this->input->post('title'), $this->input->post('text')); $data['news_item'] = $this->news_model->get_news($slug); $this->load->view('admin/includes/header', $data); $this->load->view('admin/news/success'); $this->load->view('admin/news/edit', $data); $this->load->view('admin/includes/footer'); } } 公共函数删除($id = NULL){ $this->news_model->delete_news($id); $this->load->helper('url'); $this->index(); } }模型:News_model.php
类 News_model 扩展 CI_Model { 公共函数 __construct() { $this->load->database(); } 公共函数 get_news($slug = FALSE) { if ($slug === FALSE) { $query = $this->db->get('news'); 返回 $query->result_array(); } $query = $this->db->get_where('news', array('slug' => $slug)); 返回 $query->row_array(); } 公共函数 set_news() { $this->load->helper('url'); $slug = url_title($this->input->post('title'), 'dash', TRUE); $数据 = 数组( 'title' => $this->input->post('title'), '蛞蝓' => $蛞蝓, 'text' => $this->input->post('text') ); 返回 $this->db->insert('news', $data); } /*公共函数 update_news($slug = FALSE) { $this->load->helper('url'); $slug = url_title($this->input->post('title'),'dash',TRUE); $数据 = 数组( '蛞蝓' => $蛞蝓, 'title' => $this->input->post('title'), 'text' => $this->input->post('text') ); $this->db->where('slug', $slug); 返回 $this->db->update('news', $data); }*/ 公共函数 update_news($id, $title, $text) { $数据 = 数组( '标题' => $标题, '文本' => $文本 ); $this->db->where('id', $id); $this->db->update('news', $data); } 公共函数 delete_news($id = FALSE) { $this->db->delete('news', array('id' => $id)); } }浏览量:admin/news/edit.php
编辑新闻项目
标题
文本
当我访问
`http://localhost/ciadmin/admin/news/edit/news-slug`显示 404 Page Not Found 消息!
【问题讨论】:
-
404 可能有很多不同的东西。首先尝试直接从您的 news/edit/ 方法中回显一些简单的内容,以查看路由是否正常工作。如果路由正常,则编辑方法中存在错误。
-
嗨,这个简单的方法效果很好,但是现在我将相同的脚本移动到管理目录它会显示错误!
-
在您的路线上,您是否将
$route['translate_uri_dashes'] = FALSE;更改为 TRUE
标签: php codeigniter