Получайте SMS с помощью Plivo/Codeigniter

Я пытался реализовать функцию, которая извлекает данные из SMS, которое мы отправляем в Plivo. В настоящее время на моем веб-сайте я могу отправлять SMS, проверять статус, но я хочу, чтобы пользователи могли отвечать на эти SMS и сохранять эти данные в моей базе данных. Я следил за документацией здесь. У меня есть этот контроллер:

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Receive extends CI_Controller {

    function __construct()
    {
        parent::__construct();

        $this->load->model('receive_model');
    }

    public function index()
    {
        // Sender's phone numer
        $from_number = $this->input->get("From");
        // Receiver's phone number - Plivo number
        $to_number = $this->input->get("To");
        // The SMS text message which was received
        $text = $this->input->get("Text");
        // Output the text which was received to the log file.
        // error_log("Message received - From: ".$from_number.", To: ".$to_number. ", Text: ".$text);
        $arr = array("from" => $from_number, "to" => $to_number, "text" => $text);
        $this->receive_model->add($arr);
    }

}

В примере они используют $_REQUEST, но кажется, что это не работает на Codeigniter, поэтому я попытался с $this->input->get("From"), но безуспешно. Plivo получает SMS, в логах Plivo написано «Получено», и я написал URL, который указывает на этот контроллер.

Есть идеи ?


person Komarzer    schedule 25.04.2016    source источник
comment
установить $config['allow_get_array'] = TRUE; в config.php   -  person splash58    schedule 25.04.2016
comment
Это уже на True   -  person Komarzer    schedule 25.04.2016


Ответы (1)


Вы можете выполнить следующие шаги, чтобы отладить эту проблему:

  1. Проверьте URL-адрес сообщения приложения Plivo, правильно ли он установлен с вашим номером.
  2. Установите метод сообщения как POST. Это относится к CodeIgniter.
  3. Включите журнал ошибок CI в config/config.php и поместите приведенный ниже код в метод вашего контроллера, чтобы регистрировать все запросы.

log_message('ошибка', "Ответы Plivo: " .print_r($_REQUEST, true) .\n");

  1. Получите тестовое сообщение (или вы можете запустить простую HTML-форму, добавив поля SMS).
  2. Проверьте журнал CI.
person rubai    schedule 27.04.2016