CodeIgniter路线混乱



这是我的路线:

$route['pages/show_create']['GET'] = 'pages/show_create';
$route['pages/create']['POST'] = 'pages/create';

这是我的控制器:

public function show_create()
{
$data['title'] = 'Create new news';     
$this->load->view('templates/header', $data);
$this->load->view('news/create');
$this->load->view('templates/footer');
}
public function create()
{
$data['title'] = 'Create new news';
$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('news/create');
$this->load->view('templates/footer');
}
else
{
$this->news_model->set_news();
$this->load->view('news/success');
}
}

我想通过访问news/show_create路由来显示表单,但它只返回404。我的代码出了什么问题?感谢

Codeigniter文档是非常简单的编程文档。通过使用以下链接,您可以轻松地了解有关路由的更多信息。

https://www.codeigniter.com/userguide3/general/routing.html

正如我在你的代码中看到的,你不需要提到方法类型和路由。

在这里,我假设您有一个PagesController类,您在其中使用名称show_create创建了一个方法,为此,您可以在路由类中设置如下路由。如果你仍然有困惑,你可以在这里写。

$route['news/show_create']='pages/show_create';

将其添加到您的路线中。

$route['news/show_create']['GET'] = 'pages/show_create';

我以为你的控制器名是PageController。

这就是格式。

$route['desired_route']['method'] = 'controller_name/function';

试试这个:

$route['news/show_create']='Controller_name/method_name';

看起来您不需要路线。如果删除了它们,并且假设控制器名为pages,那么可以调用类似的方法

http://example.com/pages/show_create

http://example.com/pages/create

如果你真的想通过访问news/show_create来显示表单,那么Girraj的答案中的$route就是你的选择。

$route['news/show_create'] = 'pages/show_create';

相关内容

  • 没有找到相关文章

最新更新