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


Codeigniter add message ( private message ) into database

我是新来的codeigniter,我想寻求一些帮助。

我想要完成的是:发送消息给用户,就像私人消息。

目前为止我有什么:

<<p> 视图/strong>:
 <?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',

URL:

index.php/admin/enquire/view/19

index.php/admin/enquire/add_message/19
提交后

我要做的是将消息从文本字段插入数据库(表名是message_replies)。

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

任何建议都是非常感谢的。谢谢你!

首先,您必须在控制器中加载模型,如下所示:-

$this->load->model('insert_model');

现在您可以使用与您的类同名的对象调用您的模型方法,如下所示:

$this->insert_model->form_insert($data);

也添加recepient_id在您的数据数组。现在你的控制器函数是这样的:

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

不要忘记您的模型应该像这样扩展CI的父模型:

class Insert_model extends CI_Model