我的CI控制器中有这个代码。
public function edit($id = '')
{
$this->load->helper("form");
$this->load->library("form_validation");
$data["title"] = "Edit category";
$this->form_validation->set_rules('category_name', 'Category name', 'required');
if (!$this->form_validation->run())
{
$data['category'] = $this->categories_model->get_categories($id);
$this->load->view("templates/admin_header", $data);
$this->load->view("categories/edit", $data);
$this->load->view("templates/admin_footer", $data);
}
else
{
$this->categories_model->update($id);
// other logic
}
}
如果表单已提交,则会更新该类别。如果我加载页面/ categories / edit / 32,它会显示该类别的信息。
我使用Netbeans和XDebug开发。我的问题是,当我在函数的第一行放置一个断点时,调试器在断点处返回三次。我加载页面/ categories / edit / 32,调试器停在第一行和断点处。我按F5继续,它第二次加载该功能。我再次按F5,它会加载第三次和最后一次的功能。是什么导致这个?这是Netbeans或XDebug中的一些错误,还是我有一些我看不到的错误?
编辑:
我有这个.htaccess
RewriteEngine on
RewriteCond $1 !^(index\.php|images|include|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
我发现问题出现在一个jQuery插件中,它预加载了所有css文件中的所有图像。预加载的所有图像都在images文件夹中。如果我删除插件,它可以正常工作。