我已经安装了一个基于CodeIgniter的完整PHP系统。它的第一个视图是一个动作设置为
的表单"<?php echo current_url(); ?>"
此视图显示在一个文件中,该文件使用某些方法定义一个类,每个后续视图都有一个方法。此安装方法存在于目录:setup/controllers/Setup.php
中,而显示的视图位于目录:setup/views
中。
显示第一个视图的代码是:
if ($this->input->post('licence_agreed')) {
$this->session->set_tempdata('setup_step', 'requirements', $this->setup_timeout);
redirect('requirements');
}
if ( ! file_exists(VIEWPATH .'/license.php')) {
show_404();
} else {
$this->load->view('header', $data);
$this->load->view('license', $data);
$this->load->view('footer', $data);
}
许可证表格定义为:
<form accept-charset="utf-8" method="POST" action="<?php echo current_url(); ?>" />
<input type="hidden" name="licence_agreed" value="1" />
<div class="terms"><?php echo lang('text_license_terms'); ?></div>
<div class="buttons">
<p class="text-right"><?php echo lang('text_license_agreed'); ?></p>
<div class="pull-right">
<button type="submit" class="btn btn-success"><?php echo lang('button_continue'); ?></button>
</div>
</div>
当我加载第一个视图并发布表单时,它会再次重新加载相同的视图。我试图调试上面的方法,似乎每次只有if
条件执行相同的结果,无论licence_agreed
参数的值如何。
我无法弄清问题是什么。它在服务器上运行良好。但在本地,它一直重新加载相同的第一个视图而不采取任何行动。