У меня проблема в ссылке моего скрипта Codeigniter. У меня есть этот URL:
localhost/index.php/details/1
Его получить мне все детали продукта, по ID
, Но когда я добавляю любого персонажа в конце ссылки, как это:
localhost/index.php/details/ggg
Пользователь видит сообщение об ошибке.
Как сохранить мою ссылку и скрыть это сообщение.
Способ 01
в config/routs.php
$route['404_override'] = 'Controller name';//this to avoid 404 Error
Способ 02
в контроллере проверьте пустое
$data['product'] = $this->Model_Name->get_product($id);
if(empty( $data['product']))
{
$this->empty_result();
}
else
{
//load relevent view
}
В контроллере сверху создайте вызов функции empty_result()
public function empty_result()
{
$this->load->view('template/header');
$this->load->view('template/right_sidebar');
$this->load->view('template/NothingFound',$data);//create a page to show empty or Nothing found
$this->load->view('template/foot');
}
В модели
public function get_product($id)
{
$query = $this->db->query("SELECT * FROM product WHERE id ='$id'");
$result = $query->result_array();
return $result;
}
В поле зрения (template/NothingFound.php)
создать файл вызова NothingFound.php
в этом
<h1>No thing found title</h1>
<!--customize the view as you want. Add some images-->
EDIT 01
Метод 03
Перейти к error/error_404.php
Отредактируйте сообщение об ошибке для отображения в ваших стилях
localhost/index.php/details/ggg
я не вижу страницу 404 not found, что можно сделать ??
вы можете легко сделать это, используя страницу 404.
в файле routes.php найдите строку: $ route ['404_override'] = ''; в одинарной цитате добавьте метод contrller/action. в этом методе добавить дизайн 404 страницы. то при возникновении какой-либо ошибки ваш пользователь видит страницу с ошибкой 404
application/errors/error_404.php