【发布时间】:2014-04-29 08:46:53
【问题描述】:
我希望标题准确地描述了我要问的内容...
我的控制器使用 url 的第三段 (intId) 来搜索我的数据库以获取要加载到其视图页面中的数据库信息等。它工作正常,提供 intId 对应于我的数据库中的一行......但是,如果某些流氓决定输入随机 intId,则页面加载时会出现错误,因为如果 intId 不存在,自然不会设置视图文件中所需的变量。
在我的控制器中,我如何设置和 if 语句来确定 intId 是否有效,如果不是 - 设置重定向到错误页面等。
<?php
class Brands extends CI_Controller
{
public function __construct()
{
parent::__construct();
$this->load->model('Products_model');
}
public function products_lookup_by_id($intId)
{
$config = array(
'base_url' => base_url() . '/brands/' . $intId . '/',
'total_rows' => $this->Products_model->total_rows_brands($intId),
'per_page' => 25,
'uri_segment' => 3
);
$this->pagination->initialize($config);
$data = array(
'offset_no' => $this->uri->segment(3),
'total_rows' => $config['total_rows'],
'per_page' => $config['per_page'],
'nav1' => $this->Products_model->nav1(),
'nav2' => $this->Products_model->nav2(),
'nav3' => $this->Products_model->nav3(),
'nav4' => $this->Products_model->nav4(),
'nav5' => $this->Products_model->nav5(),
'nav6' => $this->Products_model->nav6(),
'nav7' => $this->Products_model->nav7()
);
if ($data['total_rows'] > 0)
{
$data['from'] = $data['offset_no'] + 1;
}
else
{
$data['from'] = 0;
}
if (($data['total_rows'] - $data['offset_no']) < $data['per_page'])
{
$data['to'] = ($data['offset_no'] + ($data['total_rows'] - $data['offset_no']));
}
else
{
$data['to'] = $data['offset_no'] + $data['per_page'];
}
$query = $this->Products_model->query_brands($intId);
foreach ($query as $row)
{
$data['title'] = $row['my_brand'];
$data['description'] = $row['description'];
$data['breadcrumb'] = $row['my_brand'];
$data['images'] = 'brands/' . $row['intId'];
}
$data['section_page'] = 'Brands';
$data['section_page_link'] = 'brands';
$data['items1'] = $this->Products_model->items1_brands($data['per_page'], $data['offset_no']);
$this->template->load_header('products/header_view', $data);
$this->template->load_mainview('products/mainview_view', $data);
$this->template->load_grid('products/grid_view', $data);
$this->template->load_footer('footer_view', $data);
}
}
【问题讨论】:
标签: php codeigniter variables redirect controller