Codeigniter将消息(私人消息)添加到数据库中

时间:2015-09-27 09:23:56

标签: php mysql codeigniter

我是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)。

当我点击提交按钮时,我什么都没得到。它显示白屏。 数据库中也没有导入任何内容。

任何建议都将受到高度赞赏。 谢谢!

1 个答案:

答案 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);
}