我正在尝试让用户填写更多信息,因此我需要多个表单和页面。我制作了一个main_view.php
左边有一个侧栏,上面有sub1.php
,sub2.php
,sub3.php
的链接。在main_view.php
的右半部分,它显示带有相应表单的子页面。 main_view.php
的一部分如下所示:
<?php $view_path = "../../application/views/"?>
<span id="theFormChanger" >
<?php
?>
</span>
var currentPage = 0;
var subviews = ['sub1.php', 'sub2.php','sub3.php'];
$('#sub1').click(function(){
currentPage = 1;
$('#theFormChanger').load(viewpath + subviews[currentPage]);
});
子视图页面的部分代码:
<?php echo form_open('v_controller'); ?>
<?php echo form_input(array( 'type' => 'text', 'id' => 'demail', 'name' =>'demail')); ?>
<?php echo form_input(array( 'type' => 'text', 'id' => 'dname', 'name' => 'dname')); ?>
<?php echo form_submit(array('id' => 'submit', 'value' => 'Submit')); ?>
<?php echo form_close(); ?>
对于../application/controllers/
,有一个v_controller.php
:
function __construct() {
parent::__construct();
}
public function index()
{
$this->load->helper('form');
$this->load->view('sub1');
$data = array(
'User_Name' => $this->input->post('dname'),
'User_Email' => $this->input->post('demail'));
}?>
每当我转到localhost:8000/main/main_view
时,左边部分都很好,但右边部分说"Fatal error: Call to undefined function form_open() in main_view.php"
我四处搜寻但找不到答案。我确保在autoload.php
中加载了所有内容。
这是路由问题吗?我不能直接去查看文件?请帮我。谢谢!
答案 0 :(得分:0)
您可以将视图加载到视图文件中,如此
应用程序&gt;意见&gt;如default.php
<?php $this->load->view('template/common/header');?>
<?php $this->load->view('template/common/navbar');?>
<?php $this->load->view('template/' . $page);?>
<?php $this->load->view('template/common/footer');?>
然后在控制器上
<?php
class Example extends CI_Controller {
public function index() {
$data['page'] = 'common/example';
$this->load->view('default', $data);
}
}
答案 1 :(得分:-1)
您需要在视图页面的open方法中创建NameOfController / NameOfMethod。
用这个代替我们的代码,它会对你有用。
extract text plugin