404 ошибка codeigniter, почему ci не видит маршрута?
Добрый день!
Я сделал, согласно заданию 24 курса по codeigniter, метод в контроллере Movies - addmovie для добавления фильма или сериала (на певом этапе просто добавление фильма, без параметра функций сериала или фильма), но дело в том, что маршрутизатор не видит пути до метода и выдает 404, хотя вроде как правильно все сделал.
Код routes.php:
$route['default_controller'] = 'main';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
$route['movies/(:any)'] = 'movies/view/$1';
$route['movies/addmovie'] = 'movies/addmovie'; //Добавить фильм
$route['movies/type/films'] = 'movies/type/films/$1';
$route['movies/type/serials'] = 'movies/type/serials/$1';
$route['movies/editmovie'] = 'movies/editmovie/$1'; //Изменить фильм
$route['movies/deletemovie'] = 'movies/deletemovie'; //Удалить фильм
$route['rating'] = 'movies/rating';
$route['news'] = 'news';
$route['news/create'] = 'news/create';
$route['news/success-add'] = 'news/success-add';
$route['news/edit'] = 'news/edit';
$route['news/delete'] = 'news/delete';
$route['news/(:any)'] = 'news/view/$1';
Код метода добавления контроллера Movies.php:
public function addmovie() {
if(!$this->dx_auth->is_admin()) {
$this->load->helper('url_helper');
redirect('/', 'location');
}
$this->data['title'] = 'Добавить фильм';
if ($this->input->post('slug')
&& $this->input->post('name')
&& $this->input->post('description')
&& $this->input->post('rating')
&& $this->input->post('director')
&& $this->input->post('poster')
&& $this->input->post('player_code')
&& $this->input->post('categody_id')) {
$slug = $this->input->post('slug');
$name = $this->input->post('name');
$description = $this->input->post('description');
$rating = $this->input->post('rating');
$director = $this->input->post('director');
$poster = $this->input->post('poster');
$player_code = $this->input->post('player_code');
$categody_id = $this->input->post('categody_id');
if ($this->films_model->setfilms($slug, $name, $description, $rating, $director, $poster, $player_code, $categody_id)) {
$this->load->view('templates/header', $this->data);
$this->load->view('movies/success-add', $this->data);
$this->load->view('templates/footer');
}
} else {
$this->load->view('templates/header', $this->data);
$this->load->view('movies/create', $this->data);
$this->load->view('templates/footer');
}
$this->load->view('templates/header', $this->data);
$this->load->view('movies/create', $this->data);
$this->load->view('templates/footer');
}
Код метода добавления фильма модели Films_model.php:
public function setfilms($slug, $name, $description, $rating, $director, $poster, $player_code, $categody_id) {
$data = array (
'slug' => $slug,
'name' => $name,
'description' => $description,
'rating' => $rating,
'director' => $director,
'poster' => $poster,
'player_code' => $player_code,
'add_date' => NOW(),
'categody_id' => $categody_id
);
return $this->db->insert('movie', $data);
}
Код файла вида добавления фильма addmovie.php:
<h4><?php echo $title; ?></h4>
<form action="/movies/create/" method="POST">
<input type="input" name="slug" placeholder="slug"><br>
<input type="input" name="name" placeholder="Название фильма"><br>
<textarea name="description" placeholder="Описание фильма"></textarea><br>
<input type="input" name="year" placeholder="Год выпуска фильма"><br>
<input type="input" name="rating" placeholder="Рейтинг"><br>
<input type="input" name="director" placeholder="Продюсер"><br>
<input type="input" name="poster" placeholder="Ссылка на постер"><br>
<input type="input" name="player_code" placeholder="Ссылка на трейлер"><br>
<select name="categody_id">
<option disabled>Выберите категорию фильма</option>
<option value="1">Фильм</option>
<option value="2">Сериал</option>
</select>
<input type="submit" name="submit" value="Добавить фильм">
</form>
Учитывая что если поставить метод в контроллере index(), то бишь как дефолтный метод, и загрузить в него код из addmovie (код добавления фильма) все работает отлично и фильм добавляется, и вид показывается, и роутинг работает, а если указать как другой метод create или addmovie (без разницы), то CI упорно не видит ни файла вида ни контроллера.
В чем может быть проблема, 3 дня голову ломаю?