【发布时间】:2015-02-06 11:29:38
【问题描述】:
我想在 Codeigniter 中保存表单中的数据。
控制器:home.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Home extends CI_Controller {
function __construct(){
parent::__construct();
$this->load->model('insert_model');
}
public function index(){
$this->load->library('form_validation');
$this->form_validation->set_error_delimiters('<div class="error">', '</div>');
$this->form_validation->set_rules('custName', 'Customer Name', 'required|min_length[1]|max_length[50]');
$this->form_validation->set_rules('custPhone', 'Contact No.', 'required|min_length[1]|max_length[50]');
if ($this->form_validation->run() == FALSE) {
$this->load->view('home');
} else {
$data = array(
'custName' => $this->input->post('custName'),
'custPhone' => $this->input->post('custPhone')
);
// Transferring Data To Model
$this->insert_model->insertData($data);
$this->load->view('home');
}
}
}
型号:insert_model
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Insert_model extends CI_Model{
function __construct(){
parent::__construct();
}
function insertData($data){
$this->db->insert('branches', $data);
}
}
查看:home.php
<div id="container">
<?php echo form_open('home'); ?>
<h1>Save Data</h1>
<?php echo form_label('Customer Name :'); ?> <?php echo form_error('custName'); ?>
<?php echo form_input(array('id' => 'custName', 'name' => 'custName')); ?><br />
<?php echo form_label('Contact No. :'); ?> <?php echo form_error('custPhone'); ?>
<?php echo form_input(array('id' => 'custPhone', 'name' => 'custPhone')); ?><br />
<?php echo form_submit(array('id' => 'submit', 'value' => 'Save'));?>
<?php echo form_close(); ?>
</div>
运行时报错
A PHP Error was encountered
Severity: Notice
Message: Undefined property: Home::$db
Filename: core/Model.php
Line Number: 52
WAMP 服务器提供Fatal error: Call to a member function insert() on a non-object in C:\wamp\www\code\admin\application\models\insert_model.php on line 11
此错误在我的insert_model ($this->db->insert('branches', $data);) 中。
我该怎么办?如何更改CI Core 文件?
注意:我找到了这个solution,但错误仍然存在。
请不要重复这篇文章,因为我尝试了多次搜索 Stackoverflow 并在我的代码中实现,但都失败了。
【问题讨论】:
-
construct应该在index函数之外,而不是在里面。 -
对不起,我打错了。我正在编辑我的帖子。
标签: php codeigniter codeigniter-2