Codeigniter Сохранение возвращаемых заголовков уже отправлено и HTML-символ - PullRequest
0 голосов
/ 31 октября 2018

Уже несколько месяцев я пытаюсь выяснить, как исправить эти ошибки, у меня есть Google, а также проверить здесь решение, но, если честно, чем больше я выгляжу, тем меньше я вижу.

Что код должен делать, чтобы собирать список сообщений из таблицы базы данных, а затем перебирать их и отправлять по почте соответственно адрес электронной почты.

вот код

Приложение / библиотеки / Send_email.php

<?php
class Send_email{
    public $CI;
    public function __construct(){
        $this->CI   =& get_instance();
    }
    public function msg_user_now(){



        $CI ='';
        $this->CI   =& get_instance();
        $list_mess           =$this->CI->Action->get_message_2();
        if(is_array($list_mess)){
            foreach($list_mess as $row){
                $mess_id                =$row['mess_id'];
                $mess_sender            =$row['mess_sender'];
                $mess_reciever          =$row['mess_reciever'];
                $mess_topic             =$row['mess_topic'];
                $mess_body              =$row['mess_body'];

                $reciever_email         =$this->CI->Action->get_email_by_username($mess_reciever);
                $site_name              =$this->CI->Action->get_site_name();
                $site_g_name            =$this->CI->Action->get_site_g_name();
                $site_g_pass            =$this->CI->Action->get_site_g_pass();
                $data['site_name'] =$site_name;
                /*======================================SEND EMAIL TO USER When Notify ==================================*/


                        $config =array(
                        'protocol'=> 'ssmtp',
                        'smtp_host'    => 'ssl://ssmtp.gmail.com',
                        'smtp_port'    => '465',
                        'smtp_timeout' => '7',
                        'smtp_user'    => $site_g_name,
                        'smtp_pass'    => $site_g_pass,
                        'charset'    => 'utf-8',
                        'newline'    => "\r\n",
                        'mailtype' => 'text', // or html
                        'validation' => FALSE); // bool whether to validate email or not      


                        $this->CI->load->library('email');
                        $this->CI->email->clear();
                        $this->CI->load->initialize($config);
                        $this->CI->email->set_mailtype("html");


                        $this->CI->email->from('info@sitename.com', 'siteAdmin');
                        $this->CI->email->to($reciever_email); 
                        $this->CI->email->subject($mess_topic);

                        $link           =base_url().'Login/login_user';
                        $data['link']   =$link;
                        $data['link_title'] ='Login To See More Detail';
                        $data['message']    =$mess_body;
                        $data['message_title']  =$mess_topic;

                        $body   =$this->CI->load->view($this->CI->email_layout_2,$data,TRUE); 
                        $this->CI->email->message($body);  

                        if($this->CI->email->send()){
                            $this->CI->Action->update_message_list($mess_reciever);
                        }
                        //else{
                        //     //return FALSE;
                        //     $this->CI->Action->update_message_list($mess_reciever);
                        // }

                        //echo $this->email->print_debugger();
                    /*======================================End SEND EMAIL TO USER When MATCHED==================================*/

            }
        }
    }
}

Применение / Модель / action.php

public function get_message_2(){
        $this->db->where('email_alert', 'Yes');
        $query = $this->db->get('message');
        if ($query->num_rows() > 0) {
            return $query->result_array();
        } else {
            return false;
        }
    }

Применение / контроллер / Cron_ctrl.php

<?php
class Cron_ctrl extends CI_Controller{
    public function __construct(){
        parent::__construct();
        $this->load->library('Send_email');
    }

    public function perform_cron_msg(){
        $this->send_email->msg_user_now();
    }
}

вот команда задания Cron

php -q /home/esukuxyz/ecard9ja.com/index.php Cron_ctrl perform_cron_msg

Вот результат, который я получил в своей электронной почте

<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">

    <h4>A PHP Error was encountered</h4>

    <p>Severity: Warning</p>
    <p>Message:  session_start(): Cannot send session cookie - headers already sent</p>
    <p>Filename: Session/Session.php</p>
    <p>Line Number: 143</p>
            <p>Backtrace:</p>
                            <p style="margin-left:10px">
                            File: /home/esukuxyz/site_name.com/application/core/My_Controller.php<br />
                            Line: 10<br />
                            Function: __construct                   </p>




                            <p style="margin-left:10px">
                            File: /home/esukuxyz/site_name.com/application/controllers/Welcome.php<br />
                            Line: 5<br />
                            Function: __construct                   </p>

                            <p style="margin-left:10px">
                            File: /home/esukuxyz/site_name.com/index.php<br />
                            Line: 315<br />
                            Function: require_once                  </p>
    </div>
    <div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">

    <h4>A PHP Error was encountered</h4>

    <p>Severity: Warning</p>
    <p>Message:  session_start(): Cannot send session cache limiter - headers already sent</p>
    <p>Filename: Session/Session.php</p>
    <p>Line Number: 143</p>


            <p>Backtrace:</p>

                            <p style="margin-left:10px">
                            File: /home/esukuxyz/site_name.com/application/core/My_Controller.php<br />
                            Line: 10<br />
                            Function: __construct                   </p>




                            <p style="margin-left:10px">
                            File: /home/esukuxyz/site_name.com/application/controllers/Welcome.php<br />
                            Line: 5<br />
                            Function: __construct                   </p>

                            <p style="margin-left:10px">
                            File: /home/esukuxyz/site_name.com/index.php<br />
                            Line: 315<br />
                            Function: require_once                  </p>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...