我是codeigniter的新手,我想请求一些帮助。
我想要完成的任务:向用户发送消息,如私信。
到目前为止我有什么:
查看:
<?php echo form_open('/admin/enquire/add_message/'.$enquire->id); ?>
<div class="form-group form-group-standard">
<div class="col-lg-12">
<?php echo form_error('message'); ?><br />
<?php echo form_input(array('id' => 'message', 'name' => 'message')); ?><br />
<script>
document.addEventListener('DOMContentLoaded', function(){
CKEDITOR.replace( 'message', {
toolbar: 'Basic',
uiColor: '#ffffff',
height: '120px'
});
});
</script>
</div>
</div>
<div class="form-group form-group-standard">
<div class="col-lg-12">
<?php echo form_submit(array('id' => 'submit', 'value' => 'Submit')); ?>
</div>
</div>
<?php echo form_close(); ?><br/>
控制器:
public function add_message()
{
$thread_id = $this->uri->segment(4);
$data = array(
'thread_id' => $this->uri->segment(4),
'sender_id' => $this->session->userdata('id'),
'name_surname' => $this->session->userdata('name_surname'),
'date' => NOW(),
'message' => $this->input->post('message'),
'readed' => '0');
$this->insert_message->form_insert($data);
redirect('admin/enquire/view/'.$enquire->id);
}
模型:
class insert_model extends MY_Model{
function __construct() {
parent::__construct();
}
function form_insert($data){
// Inserting in Table(students) of Database(college)
$this->db->insert('message_replies', $data);
}
}
DB:
thread_id int(11) NOT NULL,
id int(11) NOT NULL AUTO_INCREMENT,
sender_id int(11) NOT NULL,
recepient_id int(11) NOT NULL,
name_surname varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
date datetime DEFAULT NULL,
message text COLLATE utf8_unicode_ci,
readed binary(1) DEFAULT '0',
网址:
index.php/admin/enquire/view/19
或
index.php/admin/enquire/add_message/19
提交后。
我要做的是将文本字段中的消息插入数据库(表名为message_replies
)。
当我点击提交按钮时,我什么都没得到。它显示白屏。 数据库中也没有导入任何内容。
任何建议都将受到高度赞赏。 谢谢!
答案 0 :(得分:0)
首先,您必须在控制器中加载模型,如下所示: -
/usr/lib/gcc/x86_64-mageia-linux-gnu/5.2.1/cc1plus:
error while loading shared libraries: libisl.so.13:
cannot open shared object file: No such file or directory
现在,您可以使用与您的类名称相同的对象来调用模型方法,如下所示:
$this->load->model('insert_model');
还在数据数组中添加$this->insert_model->form_insert($data);
。
所以现在你的控制器功能看起来像这样:
recepient_id
不要忘记您的模型应该扩展CI的父模型,如:
public function add_message()
{
$this->load->model('insert_model');
$thread_id = $this->uri->segment(4);
$data = array(
'thread_id' => $this->uri->segment(4),
'sender_id' => $this->session->userdata('id'),
'name_surname' => $this->session->userdata('name_surname'),
'date' => NOW(),
'message' => $this->input->post('message'),
'readed' => '0');
$this->insert_model->form_insert($data);
redirect('admin/enquire/view/'.$enquire->id);
}