Как бороться с неверным номером страницы в Codeigniter? - PullRequest
0 голосов
/ 21 марта 2011

Я делаю QA для этого нового приложения, которое я создал с помощью CI. С внедренной нумерацией страниц, каков типичный способ обращения с недействительными номерами страниц? Ничто не мешает мне вручную изменить смещение в URL. Так что, если максимум 20, если я изменю на 100, что должно произойти? Я провожу мозговой штурм о том, как проверить, является ли смещение действительным и не перенаправлено ли оно куда-либо или не отображается ли сообщение об ошибке (не уверен, что мне это нужно).

Ответы [ 2 ]

0 голосов
/ 16 апреля 2011

Если кто-нибудь сталкивается с этим позже, вот как я решил эту проблему.

$max_offset = (ceil($config['total_rows'] / $config['per_page']) - 1) * $config['per_page'];

if (($this->start > $max_offset) && ($max_offset >= 0)) {
    redirect("/report/filter");                 
} else {            
    $data['records'] = $this->report_model->filterItem($records, false, $config['per_page'], $this->start);         
    $this->load->view('report_view', $data);
}
0 голосов
/ 21 марта 2011

Вы можете проверить количество возвращаемых результатов и вернуть 404.

if ($this->page->get_pages(20, 100) {
  $this->load->view('our_view');
} else {
  show_404();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...