【发布时间】:2015-06-30 00:25:38
【问题描述】:
对于 MVC 在 codeigniter 中的工作方式,这对我来说没有意义。 我有一个使用 example.com/company/
加载的“controller/Company.php”function index() {
$page = uri_string();
$data['title'] = ucfirst($page);
$this->load->view('templates/header', $data);
$this->load->view('templates/top_nav', $data);
$this->load->view($page, $data);
$this->load->view('templates/footer', $data);
}
这会加载“views/company.php”并显示表单:
<h1 class="page-title"><?php echo $title; ?></h1>
<?php echo form_open('company/update', 'class="form-horizontal" role="form"'); ?>
<input name="company_name" type="text">
<?php echo form_error('company_name'); ?> //if empty display error
//rest of form and submit button
然后我在公司控制器内部有一个更新功能:
function update() {
$this->form_validation->set_rules('company_name', 'Company Name', 'trim|required');
if ($this->form_validation->run() == FALSE)
{
$this->load->view('company');
} else {
//update db, load model, post data, success, etc
}
}
我的问题是:
- 如果我只是再次加载表单视图,那么我会丢失页眉、导航、页脚等。
- 如果我重新声明所有 4 个视图,我会丢失原始数据变量:$title、$page
- 如果我使用redirect('company');再次加载控制器,然后我会丢失提交的数据和 form_error('company_name');将是空的
我希望我错过了一些重要的东西,因为我整天都在盯着它寻找答案,但找不到关于所有这些在“现实世界”中如何工作的教程谢谢
【问题讨论】:
-
您能提供您将使用的不同网址的示例吗?例如:
example.com/company/、example.com/company/name、example.com/company/name2?还是怎么做?
标签: php codeigniter